当前位置: 首页 > news >正文

网站建设多少钱裙旧房改造装修翻新

网站建设多少钱裙,旧房改造装修翻新,提高百度搜索排名,做网站需要多大的内存现有函数 printNumber 可以用一个整数参数调用#xff0c;并输出该整数到控制台。 例如#xff0c;调用 printNumber(7) 将会输出 7 到控制台。 给你类 ZeroEvenOdd 的一个实例#xff0c;该类中有三个函数#xff1a;zero、even 和 odd 。ZeroEvenOdd 的相同实例将会传递…现有函数 printNumber 可以用一个整数参数调用并输出该整数到控制台。 例如调用 printNumber(7) 将会输出 7 到控制台。 给你类 ZeroEvenOdd 的一个实例该类中有三个函数zero、even 和 odd 。ZeroEvenOdd 的相同实例将会传递给三个不同线程 线程 A调用 zero() 只输出 0线程 B调用 even() 只输出偶数线程 C调用 odd() 只输出奇数 修改给出的类以输出序列 010203040506... 其中序列的长度必须为 2n 。 实现 ZeroEvenOdd 类 ZeroEvenOdd(int n) 用数字 n 初始化对象表示需要输出的数。void zero(printNumber) 调用 printNumber 以输出一个 0 。void even(printNumber) 调用printNumber 以输出偶数。void odd(printNumber) 调用 printNumber 以输出奇数。 示例 1 输入n 2 输出0102 解释三条线程异步执行其中一个调用 zero()另一个线程调用 even()最后一个线程调用odd()。正确的输出为 0102。示例 2 输入n 5 输出0102030405 1. Semaphore class ZeroEvenOdd {private int n;private Semaphore zeroSema new Semaphore(1);private Semaphore oddSema new Semaphore(0);//奇数private Semaphore evenSema new Semaphore(0);//偶数public ZeroEvenOdd(int n) {this.n n;}public void zero(IntConsumer printNumber) throws InterruptedException {for (int i 1; i n; i) {zeroSema.acquire();printNumber.accept(0);if (i % 2! 0) {//奇数oddSema.release();} else {evenSema.release();}}}public void even(IntConsumer printNumber) throws InterruptedException {for (int i 1; i n; i) {if (i % 2 0) {//偶数 打印偶数 并释放zero的线程evenSema.acquire();printNumber.accept(i);zeroSema.release();}}}public void odd(IntConsumer printNumber) throws InterruptedException {for (int i 1; i n; i) {if (i % 2 ! 0) {//奇数打印奇数并释放zero的线程oddSema.acquire();printNumber.accept(i);zeroSema.release();}}} }2. synchronized class ZeroEvenOdd {private int n;private final Object obnew Object();private volatile int flag0;public ZeroEvenOdd(int n) {this.n n;}public void zero(IntConsumer printNumber) throws InterruptedException {for (int i 1; i n; i) {synchronized (ob){while (flag!0){ob.wait();}printNumber.accept(0);if(i%20)flag2;elseflag1;ob.notifyAll();}}}public void even(IntConsumer printNumber) throws InterruptedException {for (int i 1; i n; i) {if (i % 2 0) {//偶数 打印偶数 并释放zero的线程synchronized (ob){while (flag!2){ob.wait();}printNumber.accept(i);flag0;ob.notifyAll();}}}}public void odd(IntConsumer printNumber) throws InterruptedException {for (int i 1; i n; i) {if (i % 2! 0) {//偶数 打印偶数 并释放zero的线程synchronized (ob){while (flag!1){ob.wait();}printNumber.accept(i);flag0;ob.notifyAll();}}}} } 3. CountDownLatch class ZeroEvenOdd {private int n;private CountDownLatch countDownLatch_zeronew CountDownLatch(0);private CountDownLatch countDownLatch_evennew CountDownLatch(1);private CountDownLatch countDownLatch_oddnew CountDownLatch(1);public ZeroEvenOdd(int n) {this.n n;}public void zero(IntConsumer printNumber) throws InterruptedException {for (int i 1; i n; i) {countDownLatch_zero.await();printNumber.accept(0);countDownLatch_zeronew CountDownLatch(1);if (i % 2! 0) {//奇数countDownLatch_odd.countDown();} else {countDownLatch_even.countDown();}}}public void even(IntConsumer printNumber) throws InterruptedException {for (int i 1; i n; i) {if (i % 2 0) {//偶数 打印偶数 并释放zero的线程countDownLatch_even.await();printNumber.accept(i);countDownLatch_evennew CountDownLatch(1);countDownLatch_zero.countDown();}}}public void odd(IntConsumer printNumber) throws InterruptedException {for (int i 1; i n; i) {if (i % 2 ! 0) {//奇数打印奇数并释放zero的线程countDownLatch_odd.await();printNumber.accept(i);countDownLatch_oddnew CountDownLatch(1);countDownLatch_zero.countDown();}}} }4. Lock class ZeroEvenOdd {private int n;private volatile int flag0;Lock locknew ReentrantLock();Condition condition_zero lock.newCondition();Condition conditon_even lock.newCondition();Condition condition_odd lock.newCondition();public ZeroEvenOdd(int n) {this.n n;}public void zero(IntConsumer printNumber) throws InterruptedException {for (int i 1; i n; i) {lock.lock();try{while (flag!0){condition_zero.await();}printNumber.accept(0);if(i%20) {flag 2;conditon_even.signal();}else {flag 1;condition_odd.signal();}}finally {lock.unlock();}}}public void even(IntConsumer printNumber) throws InterruptedException {for (int i 1; i n; i) {if (i % 2 0) {//偶数 打印偶数 并释放zero的线程lock.lock();try {while (flag ! 2) {conditon_even.await();}printNumber.accept(i);flag 0;condition_zero.signal();}finally {lock.unlock();}}}}public void odd(IntConsumer printNumber) throws InterruptedException {for (int i 1; i n; i) {if (i % 2! 0) {//偶数 打印偶数 并释放zero的线程lock.lock();try {while (flag ! 1) {condition_odd.await();}printNumber.accept(i);flag 0;condition_zero.signal();}finally {lock.unlock();}}}} }
http://www.lakalapos1.cn/news/39292/

相关文章:

  • 安徽省建设厅网站职称申报淮北发展论坛
  • 河源市网站建设公司网站建设一般多少钱官网
  • 建立网站的要素如果我的网站被百度收录了_以后如何做更新争取更多收录
  • 企业网站做百度排名要怎么做天眼查企业工商查询
  • 如何建设一个自己 的网站首页泸州北京网站建设
  • 专门做瓷砖的网站wordpress 7天热门
  • 有没有什么做统计的网站我做的网站手机上不了
  • 网站建设合同属于技术合同吗郑州建设网站报价
  • 企业网站需要备案吗建视频网站模板
  • 个人网站要怎么备案钉钉小程序开发
  • 中山手机网站建设微信小程序游戏破解盒子
  • 怎么看网站有没有做301域名连接网站
  • 南昌网站设计哪家专业好网页更改
  • 仿礼物说网站模板iis7 asp网站运行缓慢
  • 网站怎么管理自适应企业网站
  • 扬州市市政建设处网站临沂网站开发技术员
  • 高端网站开发 金蝶蓝色科技网站建设
  • 企业网站优化服务公司平台公司实体化转型
  • 多语种网站秦皇岛建设网站公司
  • 中国十大搜索引擎排名seo属于运营还是技术
  • 太原网站关键词推广wordpress如何搭建在局域网
  • 电子商务网站建设目标及利益分析房地产网站建设的目的
  • 网站开发地图板块浮动百度推广怎么优化
  • 如何做一个网站的功能吗页面设计的怎么样
  • 专门做护肤品网站裕安区韩摆渡镇
  • 电商会学着做网站呢做网站公司赚钱吗
  • 网站设计师培训班wordpress顶部栏如何修改
  • 有哪些做包装设计网站好些开网店卖什么适合新手
  • 深圳市建设主管部门门户网站软文推广模板
  • 重庆电力公司网站用linux做网站