0

我正在使用消息队列的进程程序之间编写多线程客户端/服务器。服务器将处理客户端发送的消息,稍后它应该将工作交给线程以继续处理它们的进程。每个客户端都有不同的消息队列。

在建立第一个客户端的连接并发送一个线程来处理它之后使用 pthread_join 不允许我接收主线程上的新连接,因为它被阻止了我该如何修复它。

  • 在主线程中接收新消息(或其他解决方案,如果可能的话)
  • 发送到线程以处理客户端消息和之后的消息。
  • 回来接收新消息
4

1 回答 1

1

很简单,

使您创建的线程与主线程分离 - 意味着您不再需要“pthread_join”它们。所以主线程在循环中获取新连接和对现有连接的新请求,如果它是一个新连接,它将启动新线程,如果它是对现有连接的请求,它只是将请求添加到线程的队列中(使用锁当然是互斥锁)。

于 2013-05-13T21:07:18.043 回答