假设我有线程T1,T2和T3,我如何确保线程T2在T1之后运行而线程T3在T2之后运行?
答案 0 :(得分:3)
您的问题的解决方案可能是“不要使用多个线程”。如果要确保在操作1之后执行操作2,并且在操作2之后执行操作3而没有交错,则解决方案是执行操作1,然后执行操作2,然后执行操作3.线程作为一种机制很有用对于并行性,并且通过尝试确保以特定顺序运行的操作,您明确禁止并行性。不要试图使用一种机制来完成与其设计的事物完全相反的。
答案 1 :(得分:3)
你必须在T1死后开始T2。
t1.start();
t1.join();
t2.start();
实际上,如果你需要按顺序运行它们,你可能不需要/不应该将它们放在单独的线程中。只需将t1和t2代码顺序放在一个线程中即可。
答案 2 :(得分:0)
等待此线程死亡。
答案 3 :(得分:0)
您可以使用
进行设计答案 4 :(得分:0)
在T1代码结束时启动T2。在T2代码结束时启动T3。
或者只是按照其他海报的建议在一个线程中按顺序运行这些函数,因为这个练习基本没有意义。