首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多线程for服务器的线程池

多线程for服务器的线程池
EN

Stack Overflow用户
提问于 2013-11-05 00:37:52
回答 1查看 647关注 0票数 1

我想写一个多线程的网络服务器,我应该使用线程池。我可以为线程池使用队列吗?如果可以,您建议队列是循环队列还是双链接列表?哪个更适合我的web服务器实现?如果队列不是一个好的选择,那么建议线程池使用什么数据结构?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-26 09:44:24

您可以使用线程安全的任何队列。但是,如果web服务器的任务很重,最好使用基于数组的无锁队列,这样有时只需要分配数组(michael和scott的队列是基于节点的,因此在天真的实现中,每次创建enqueue时都必须分配节点,并在dequeue上释放它们)。(因此,在我看来,基于数组的队列(而不是deques)更好,因为它们在不同的任务中是公平的。

我建议你用队列,而不是德克。(即使偷工作用的是一种德行,你也想要公平地接待客户。因此,由于ot的行为类似堆栈,所以第一个请求将是最后一个响应。)您可以看到这个页面用于无锁并发队列(我认为这是最先进的) http://mcg.cs.tau.ac.il/projects/lcrq/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19779999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档