我正在使用POSIX线程开发应用程序。
有问题的线程正在接收传入数据。大多数时候它正在睡觉并等待某些事情发生。
但这里有两个问题:
select()
并等待来自虚拟"端口"的事件,这可能不支持select()
(例如一些特定的蓝牙/ USB连接等)。我将为这些端口实现一个通知机制 - 同样,一个简单的POSIX条件信号就足够了。现在的问题是 - 如何在一个线程的单个runloop中同时等待select()
和pthread_cond_wait()
来唤醒所有这些事件? < / p>
端口数量(TCP和&#34;虚拟&#34;)预计低,低于5。
该解决方案应该可靠,适用于Linux和类似BSD的平台(包括Android和iOS)。