当前位置:  开发笔记 > 运维 > 正文

单个CPU上的多个线程和性能

如何解决《单个CPU上的多个线程和性能》经验,为你挑选了3个好方法。

在没有超线程的单个CPU的计算机上使用多个线程有什么性能优势吗?



1> 小智..:

在计算速度方面,不会.事实上,由于管理线程的开销,事情会变慢.

在响应性方面,是的.例如,您可以让一个线程等待IO操作,让另一个线程同时运行GUI.


在学术意义上,你是绝对正确的.然而,地球上没有任何程序是100%的CPU工作,这意味着在实践中,即使只有一个计算单元,多个线程也可以产生积极的影响
这个答案可以更详细吗?例如,与多处理器相比,多线程有哪些好处?

2> Bill Michell..:

这取决于您的应用程序.如果它花费所有时间使用CPU,那么多线程只会减慢速度 - 尽管您可以使用它来更好地响应用户,从而给人以更好性能的印象.

但是,如果您的代码受到其他内容的限制,例如使用文件系统,网络或任何其他资源,那么多线程可以提供帮助,因为它允许您的应用程序异步运行.因此,当一个线程正在等待从磁盘加载文件时,另一个线程可以查询远程Web服务器,另一个可以重新绘制GUI,而另一个正在进行各种计算.

使用多个线程还可以简化业务逻辑,因为您不必过多关注各种独立任务需要交错的方式.如果操作系统的调度逻辑比您的更好,那么您可能确实看到了改进的性能.



3> Sergii Shevc..:

您可以考虑在单个CPU上使用多线程

    如果您使用网络资源

    如果您进行高密集的IO操作

    如果从数据库中提取数据

    如果您利用其他可能有延迟的东西

    如果你想让你的应用程序具有超速反应

当您不应在单个CPU上使用多线程时

    高密集型操作,几乎可以实现100%的CPU使用率

    如果您不确定如何使用线程和同步

    如果您的应用程序不能分为几个并行进程

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有