c – 影响性能之前Unix中的线程限制
我对线程有一些疑问:
>在降低应用程序性能之前,进程允许的最大线程数是多少? 解决方法
这实际上是一组没有绝对答案的难题,但以下内容应该是适当的近似值:
>它是应用程序行为和运行时环境的函数,只能通过实验推断出来.通常会有一个阈值,在此阈值之后,当您增加线程数时,性能实际上会降低. >线程数. >影响线程限制的因素有很多,但最常见的因素是: >每线程内存使用量(每个线程使用的内存越多,产生的线程越少)>上下文切换成本(使用的线程越多,切换的CPU时间就越多).>锁争用(如果依赖于大量粗粒度锁定,增加线程数会增加争用.)>操作系统的线程模型(如何管理线程?每线程成本是多少?)>语言运行时的线程模型. (协同程序,绿线程,操作系统线程,火花等)>硬件. (多少CPU /核心?是否超线程?是否适当地对线程进行负载均衡等)>等等(还有更多,但以上是最重要的.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |