在多线程应用程序中,我们启动了多个线程。我们允许线程以随机顺序执行,但函数调用之一除外,我们需要确保执行顺序。如何在C#中做到这一点?
答案 0 :(得分:0)
由于线程自然是异步的,因此我不确定采用最正确的方法来处理这种情况。
但是我要使用的最简单的方法是并发控制。 假设您有3个线程T1,T2和T3,以及3个互斥锁M1,M2和M3。每当您需要按顺序开始执行它们时,请使用互斥锁创建某种链锁:
T1获得M1锁 T2获取M2锁,然后等待M1释放 T3获得M3锁定,并等待M1和M2释放。
当线程完成该任务的一部分时,请释放它的锁。
依此类推,还有更多线程。
希望有帮助。