我有一个C#Windows应用程序,我正在开发自己的线程中的不同类(即:线程1中的Class1实例,线程2中的Class 2实例等)。
我正在尝试正确挂起/恢复线程,但我无法弄清楚如何在不同的类和线程之间共享Monitor / Wait of Pulse的锁定变量。
这似乎应该有一个简单的答案,我只是想不通。我真的很感激任何帮助!
谢谢!
答案 0 :(得分:1)
使用公开static
字段,例如,
public class Sync
{
public static object LockObject = new object();
//or any other sync mechanism
//AutoResetEvent,ManualResetEvent,Semaphore,CountdownEvent,Mutex etc.
}
答案 1 :(得分:0)
监视器锁定对于shnchronization非常有用,但是当用作消息传递 API时,它通常只能扩展到两个线程,因为您需要知道每个线程的确切位置。
当事情变得复杂时,AutoResetEvent或ManualResetEvent通常更为明智,因为它们对时间要求较低:无论订购如何,都会通过门。