【发布时间】:2015-05-20 05:10:36
【问题描述】:
基本上,我正在尝试实现一种机制,让两个线程并行运行。 Thread1 不断更新计数器值。当计数器值达到特定值的增量(例如 100、250、500 的倍数)时,我希望 Thread2 并行执行在计数器值上选择的特定任务。 Thread1 应继续计数,但如果 Thread2 尚未完成其任务,则不应超过键值。
用例:线程 1 已将计数器更新为 100。这将调度 Thread2 以执行 TaskA。 Thread1 仍在计数。计数器达到 250。如果 Thread2 已完成其任务,则 Thread1 应继续。否则,Thread1 应等待 TaskA 完成后再继续。
|t2 |t1
| |
| |
| |
______100________ <----start thread 2 real quick
| |
| |
| |
| |
| |
| |
_______250______ <------at this point just wait for taskA to finish
| | IF it's not finished. If it is, start taskB and
| | continue counting
V V
我一直在研究这个问题,但到目前为止我已经放弃了所有内容。我很感激代码/伪代码/提示/建议。提前致谢
【问题讨论】:
-
听起来像是倒计时的工作。
标签: java multithreading