我有一个带有dataRevised事件的串口对象,我需要让我的主线程睡眠等待事件来触发dataRevised事件,我使用信号量但是当等待事件的主线程不会触发时,我需要解决方案尽可能快,我在.NET 2.0中使用C#。 换句话说,我需要代码:
lock(_lock){
_serialPort.write(cmd);
ans=_serialPort.read();
}
从头到尾运行而没有中断,问题是我需要等待传入的数据,所以会有东西要读。
答案 0 :(得分:1)
我需要让我的主线程休眠等待事件触发dataRevised事件
但是当等待事件的主线程不会触发时
显然你不能让你的主线程睡眠,因为如果你这样做,事件就不会被激活。您需要重新编写应用程序,以便在引发事件之前主线程不需要休眠。