【发布时间】:2015-08-08 15:12:44
【问题描述】:
我们如何使用wait, notify(最好)或其他高级构造来确保 Java 中 3 个或更多线程之间的顺序。
例如,对于 3 个线程,分别打印 1,4,7... 2,5,8... 3,6,9... 的 T1、T2 和 T3 应按顺序执行 T1 > T2 > T3 > T1 > T2 > T3 > T1 以此类推... 最终输出如下所示:
T1 1
T2 2
T3 3
T1 4
T2 5
T3 6
T1 7
.
.
.
请注意没有。线程数作为用户的输入,没有硬编码。
我知道如果要按顺序运行多个线程是没有意义的,但这是一个实践问题。
请帮忙提供一个代码 sn-p。
【问题讨论】:
-
在某处收集结果并对其进行排序......
-
你的尝试在哪里?
-
我投票决定将此问题作为题外话结束,因为它是一个家庭作业问题,其中不包括迄今为止为解决该问题所做的工作的必要摘要,也不包括对解决时遇到的困难。
-
您可以使用 queue..FIFO 处理线程,以便保持顺序
-
这个想法是使用三个监视器,每个过渡一个。 (T1->T2, T2->T3, T3->T1)。
标签: java multithreading