我正在开发即时消息应用程序。
这是我需要帮助的情况: 我的代码中的例程fgets()用户输入的消息。 现在我需要唤醒一个线程,它有一个例程将消息发送到套接字等。我真的不知道该怎么做。
如果我使用互斥锁:我不希望我的第一个线程等待。因此我不想用这个。 同样,我不能使用cond_variable。
请告诉我如何获得这个。
答案 0 :(得分:0)
你可以采用的另一种方法是使用管道。您的控制台处理线程将消息写入管道,网络线程从管道执行阻塞读取。
您可能最终得到的是网络线程在控制台管道和网络套接字上执行select()。然后当它要么发送某些东西或者从网络接收某些东西时它会醒来并做一些事情。时髦!