【发布时间】:2013-11-15 19:06:43
【问题描述】:
我想写一个多线程的网络服务器,我应该使用一个线程池。我可以为线程池使用队列吗?如果可以,你建议队列是循环的还是双链表?哪一个更适合我的 Web 服务器实现?如果队列不是一个好的选择,线程池推荐什么数据结构?
【问题讨论】:
-
一个栈(单链表)应该没问题。您需要做的就是在需要时弹出一个,并在完成后将其推回。不需要队列、循环或双向链表。
-
循环队列也可以解决问题,请参阅这个不错的轻量级库:threadpool。
-
您可以使用application server 最近用 PHP 开发的,而后者又使用 C 语言。
标签: c multithreading pthreads queue threadpool