-
信号量:在C#多线程通信中主要用来向阻塞的线程传达信号从而使得阻塞线程继续执行。代表一种许可的概念,是否允许多线程对同一资源操作的许可。
-
多线程信号(线程交互):通常是指线程必须等待一个线程或者多个线程通知交互(释放信号),才可以继续执行。
-
在C#中信号量主要有这几个:
AutoResetEvent,
private static AutoResetEvent auto = new AutoResetEvent(false); Thread thread = new Thread(AutoReset);//定义线程去执行AutoReset方法 thread.Start();//开始线程 Thread.Sleep(5000);//休眠5s auto.Set(); static void AutoReset() { auto.WaitOne();//阻塞线程,等待释放信号从而继续执行下面的代码,一直等待 //auto.WaitOne(2000);//等待两秒,如果没有收到信号,则继续执行 Console.WriteLine("Wait 5s,Begin Run AutoReset"); }
ManualResetEvent,
private static ManualResetEvent manualResetEvent = new ManualResetE
C#多线程通信
于 2023-10-07 17:45:53 首次发布