【发布时间】:2017-11-16 18:45:23
【问题描述】:
请注意:事实上,这可能不是一个真正的问题,只是来自我的想法:)
在所有编程语言中,是否有一些方法可以做到这一点:
一个线程(名为 ThreadA)正在执行一个消耗时间任务(名为 TaskA)。 当它完成TaskA的一部分时,我们可以让它在完成另一个任务时继续做剩下的事情吗?换句话说,我们可以让线程
stop to do执行另一个任务,然后返回到continue to do剩下的部分吗?
更新: 假设我们有两个任务TaskA(低优先级)和TaskB(高优先级)。我们仅限于创建一个线程来执行任务。线程在做TaskA时,如果有更高优先级的任务来了(比如TaskB),线程必须保存当前状态,做更高的。
【问题讨论】:
-
它可以启动另一个线程来执行第二个任务,并等待它完成。
-
我不太明白你想要达到什么目的......线程正在并行执行,也就是说,如果线程 A 完成了它的一部分工作,它可以向线程 B 发出信号以对其执行某些操作。 ...
-
@SteveSmith 感谢您的评论。如果我们只使用一个线程,它可以同时执行更多任务吗?
-
线程可以同时执行任务。
-
@FdXing 程序中的每一行都逐行执行。如果你不想同时做一些事情,你至少需要 2 threds。一个在做 taskA 另一个在做 taskB
标签: java multithreading