主线程睡眠将等待C#中的事件

时间:2013-02-05 19:43:05

标签: c# multithreading events serial-port

我有一个带有dataRevised事件的串口对象,我需要让我的主线程睡眠等待事件来触发dataRevised事件,我使用信号量但是当等待事件的主线程不会触发时,我需要解决方案尽可能快,我在.NET 2.0中使用C#。 换句话说,我需要代码:

lock(_lock){
     _serialPort.write(cmd);
     ans=_serialPort.read();
 }

从头到尾运行而没有中断,问题是我需要等待传入的数据,所以会有东西要读。

1 个答案:

答案 0 :(得分:1)

  

我需要让我的主线程休眠等待事件触发dataRevised事件

     

但是当等待事件的主线程不会触发时

显然你不能让你的主线程睡眠,因为如果你这样做,事件就不会被激活。您需要重新编写应用程序,以便在引发事件之前主线程不需要休眠。