如何确保线程的执行顺序

时间:2019-03-01 07:24:53

标签: c# asp.net multithreading

在多线程应用程序中,我们启动了多个线程。我们允许线程以随机顺序执行,但函数调用之一除外,我们需要确保执行顺序。如何在C#中做到这一点?

1 个答案:

答案 0 :(得分:0)

由于线程自然是异步的,因此我不确定采用最正确的方法来处理这种情况。

但是我要使用的最简单的方法是并发控制。 假设您有3个线程T1,T2和T3,以及3个互斥锁M1,M2和M3。每当您需要按顺序开始执行它们时,请使用互斥锁创建某种链锁:

T1获得M1锁 T2获取M2锁,然后等待M1释放 T3获得M3锁定,并等待M1和M2释放。

当线程完成该任务的一部分时,请释放它的锁。

依此类推,还有更多线程。

希望有帮助。