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

本文关键字:事件 等待 线程 | 更新日期: 2023-09-27 17:58:04

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

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

要想从开始到结束都不中断地运行,问题是我需要等待传入的数据,这样就有了要读取的内容。

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

我需要让我的主线程睡眠,等待事件触发数据修改后的事件

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

很明显,你不能让主线程睡眠,因为如果你这样做,事件就不会启动。您需要重新处理您的应用程序,这样您的主线程就不需要休眠,直到事件发生。