首页 > Java > java教程 > 正文

Java 多线程代价

黄舟
发布: 2017-02-28 10:16:32
原创
1258 人浏览过

从单线程转换成多线程不只是提供了益处。它也有一些代价。不要在应用中因为你可以用就去使用多线程。你应该有一个好的想法通过这样做能得到什么好处,好处要比代价大。当处在怀疑中的时候,尝试着测试衡量应用的性能或者响应速度,代替只是猜测。

更加复杂的设计

虽然多线程的一些部分比单线程的简单,但是其他的部分更加复杂。通过多线程执行的代码访问共享的数据需要特殊的注意。线程交互总是原理简单。来自于不正确的线程同步出现的错误很难去检测,出现以及修复。

上下文切换开销

当一个CPU从一个线程切换到另外一个线程的时候,这个CPU需要保存当前线程的本地数据,程序指针等等信息,以及加载下一个线程的本地数据,程序指针去执行。这个切换称之为“上下文切换”。这个CPU从执行一个线程的上下文切换到执行另外一个线程的上下文。

上下文切换不是低廉的。你不想在线程之间切换超过必须的。

增加资源消耗

一个线程为了运行需要计算机的一些资源。此外CPU的一个线程需要一些内存去保持它的本地堆栈。在操作系统管理线程的内部可能也会占去一些资源。尝试着创建100个线程的程序,除了等什么都不做,然后看着当运行时候会消耗多少内存。


 以上就是Java 多线程代价的内容,更多相关内容请关注PHP中文网(www.php.cn)!


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!