我有一个多线程程序,我在一个线程(线程 A)中无条件地休眠无限时间。当另一个线程(线程 B)中发生事件时,它通过信号唤醒线程 A。现在我知道有多种方法可以做到这一点。当我的程序在 Windows 环境中运行时,我在 Thread-A 中使用 WaitForSingleObject,在 Thread-B 中使用 SetEvent。它工作没有任何问题。我还可以使用基于文件描述符的模型进行轮询、选择。有不止一种方法可以做到这一点。但是,我正在尝试找到最有效的方法。每当 Thread-B 发出信号时,我想尽快唤醒 Thread-A。你认为什么是最好的选择。我可以探索基于驱动程序的选项。
谢谢