题目:
相同的一个 ZeroEvenOdd 类实例将会传递给三个不同的线程:
线程 A 将调用 zero(),它只输出 0 。
线程 B 将调用 even(),它只输出偶数。
线程 C 将调用 odd(),它只输出奇数。
每个线程都有一个 printNumber 方法来输出一个整数。请修改给出的代码以输出整数序列 010203040506... ,其中序列的长度必须为 2n。
思路:
用信号量进行并发控制 Semaphore
0 初始化为1个信号量
奇偶数 分别初始化为0个信号量
待 0 执行完后,释放一个奇数 或 偶数 信号量 进行数字输出,输出完再释放0 信号量
(一) 代码
但愿人长久,千里共婵娟 !!