我的项目中有两个线程,比如线程A和线程B.
当线程B忙于做某事时,我想从线程A向线程B发送信号。线程B收到信号后,立即执行相应的信号处理程序。在Linux中,使用信号很容易做到这一点。为了产生同样的效果,我应该如何处理C#线程?
答案 0 :(得分:3)
我不知道linux中的signal
,但您可以使用ManualResetEvent来表示另一个线程。
答案 1 :(得分:0)
您无法任意中断正在运行的线程 - 只有阻塞的线程。
答案 2 :(得分:0)
答案 3 :(得分:0)
WaitHandles
这是一个抽象类,它公开允许线程阻塞直到发信号的方法,并公开方法以表示阻塞线程应该“唤醒”。
有许多具体实施,例如AutoResetEvent
,ManualResetEvent
,Mutex
和Semaphore
。