C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 要创建多少线程?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个网络 Linux应用程序,它从多个目的地接收RTP流,执行非常简单的数据包修改,然后将流转发到最终目的地.

我如何决定处理数据应该有多少线程?我想,我不能为每个RTP流打开一个线程,因为可能有数千个.我应该虑到cpu内核的数量吗?还有什么重要的
谢谢.

解决方法

了解在服务器上使用多个线程的目的很重要;服务器中的许多线程用于减少 latency而不是增加速度.通过拥有更多线程,您不会使cpu更快,但是您可能会在给定时间段内始终显示线程来处理请求.

拥有并行移动数据的一堆线程是一个效率低下的射击枪(每个请求创建一个线程自然只是完全失败).使用thread pool模式可以是更有效,集中的方法来减少延迟.

现在,在线程池中,您要拥有至少与cpu /内核一样多的线程.你可以有更多的,但额外的线程将再次只会减少延迟,而不是提高速度.

虑组织服务器线程的问题类似于在超市中组织一条线.你想有很多收银员工作更慢,还是一个收银员谁超级快?快速收银员的问题不是速度,而是一个有很多杂货的客户可能还会占用很多时间.许多线程的需要来自于几个请求将花费大量时间并阻止所有线程的可能性.通过这个推理,您是否从许多较慢的收银员受益取决于您是否拥有相数量的杂货或数量不同的数量.回到基本模型,这意味着你必须使用你的线程号码,根据您的流量的特定特征来确定哪些是最优的,看看处理每个请求所花费的时间.

大佬总结

以上是大佬教程为你收集整理的c – 要创建多少线程?全部内容,希望文章能够帮你解决c – 要创建多少线程?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。