2013-05-13 17 views
0

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

第一个客户端连接并发送一个线程来处理它 使用pthread_join不允许我接收主线程上的新连接,导致它被阻塞我该如何修复它。

  • 在主线程(或其他解决方案,如果可能的话)
  • 接收新邮件发送到线程来处理一个客户端消息的之后。
  • 再回到接收新邮件
+0

你为什么要调用'pthread_join'? – 2016-01-21 10:51:57

回答

1

很简单,

让您从主线程分离的线程 - 意味着你没有需要“在pthread_join”他们了。因此,主线程在循环中获取新连接和现有连接的新请求,如果它是新连接,它将启动新线程,并且如果它是对现有连接的请求,则它只是将请求添加到线程的队列中(使用锁在它是互斥的课程)。