Linux的信号机制的C#等价是什么?

时间:2011-02-24 14:29:29

标签: c# multithreading

我的项目中有两个线程,比如线程A和线程B.

当线程B忙于做某事时,我想从线程A向线程B发送信号。线程B收到信号后,立即执行相应的信号处理程序。在Linux中,使用信号很容易做到这一点。为了产生同样的效果,我应该如何处理C#线程?

4 个答案:

答案 0 :(得分:3)

我不知道linux中的signal,但您可以使用ManualResetEvent来表示另一个线程。

答案 1 :(得分:0)

您无法任意中断正在运行的线程 - 只有阻塞的线程。

看看this explanation

答案 2 :(得分:0)

您可能感兴趣的是Monitor课程的两种方法,但我不能确定它们是否适合您的需要:

请参阅PulseWait

答案 3 :(得分:0)

<。> .Net世界使用WaitHandles这是一个抽象类,它公开允许线程阻塞直到发信号的方法,并公开方法以表示阻塞线程应该“唤醒”。

有许多具体实施,例如AutoResetEventManualResetEventMutexSemaphore

相关问题