多线程 打印零与奇偶数

题目:

相同的一个 ZeroEvenOdd 类实例将会传递给三个不同的线程:

线程 A 将调用 zero(),它只输出 0 。
线程 B 将调用 even(),它只输出偶数。
线程 C 将调用 odd(),它只输出奇数。
每个线程都有一个 printNumber 方法来输出一个整数。请修改给出的代码以输出整数序列 010203040506... ,其中序列的长度必须为 2n。

思路: 

  用信号量进行并发控制 Semaphore 

  0 初始化为1个信号量

  奇偶数 分别初始化为0个信号量

  待 0 执行完后,释放一个奇数 或 偶数 信号量 进行数字输出,输出完再释放0 信号量


(一) 代码

   


      但愿人长久,千里共婵娟 !!

原文地址:https://www.cnblogs.com/misscai/p/14670677.html