1

可能重复:
有没有办法唤醒睡眠线程?

我在 C# .net 中有一个 Windows 窗体应用程序。我正在使用 namedpipes 与 c++ 应用程序进行通信。通讯部分运行良好。在表单加载事件中,我启动了两个后台线程,其中一个用于接收。接收线程处于无限while循环中。当没有要读取的数据时它会休眠,当数据到达时,它会读取它,然后将其推送到消息队列(全局创建)中。我想使用我在加载表单时创建的另一个来读取消息队列并更新 UI。我想要的是,一旦创建了第二个线程,它就应该进入无限睡眠状态,并且当阅读线程已经阅读了 4 条或更多消息时,它应该生成某种信号来唤醒睡眠线程。

4

1 回答 1

0

您应该等待ManualResetEventAutoResetEvent而不是休眠。

于 2012-12-12T11:17:01.107 回答