Java 并发 教程 - 多线程的代价
来源:互联网 发布:c语言中数据类型与% 编辑:程序博客网 时间:2024/05/16 10:21
从单线程到多线程应用程序不仅仅提供好处,它也有一些代价。只是因为你可以,就把一个应用程序变成多线程。你应该明了,这样做所获得的好处要大于成本。如果有疑问,请尝试着量化一下应用程序的性能或响应速度,而不是只是猜测。
更复杂的设计
上下文切换开销
上下文切换不便宜。没必要的话,不要在线程之间切换。
你可以在维基百科上阅读更多关于上下文切换的资料:
http://en.wikipedia.org/wiki/Context_switch
更复杂的设计
尽管多线程应用程序的某些部分比单线程应用程序更简单,但其他部分更复杂。需要特别注意访问共享数据的的被多个线程执行的代码。线程的交互绝不是很简单的事。由不正确的线程同步引起的错误可能非常难以检测,重现和修复。
上下文切换开销
当CPU从一个线程的执行切换到另一个线程的执行时,CPU需要保存当前线程的本地数据,程序指针等,并且加载要执行的下一个线程的本地数据,程序指针等。这个切换被称为“上下文切换”。 CPU从在一个线程的上下文中执行切换到在另一个线程的上下文中执行。
上下文切换不便宜。没必要的话,不要在线程之间切换。
你可以在维基百科上阅读更多关于上下文切换的资料:
http://en.wikipedia.org/wiki/Context_switch
增加资源消耗
1 0
- Java 并发 教程 - 多线程的代价
- Java并发系列-3、多线程的代价
- Java并发编程系列之三十:多线程的代价
- Java并发编程系列之六:多线程的代价
- 【java多线程的代价】
- Java 并发 / 多线程教程
- Java并发/多线程教程
- Java并发编程(Java Concurrency)(3)- 多线程的代价
- Java 并发 教程 - 多线程的好处
- 通俗易懂的Java并发与多线程教程
- java并发与多线程教程
- 多线程的代价
- 多线程的代价
- 多线程的代价
- 引入多线程的代价
- 多线程的代价
- 多线程的代价
- 多线程的代价
- Session和Cookie的区别
- permgen space解决办法
- 根据父布局的宽高,动态设置控件的宽高
- Android USB Camera(1) : 调试记录
- shell脚本中的反引号,单引号,双引号与反斜杠
- Java 并发 教程 - 多线程的代价
- 2016.11.5初中部上午NOIP普及组比赛总结
- Codeforces 389C Fox and Box Accumulation【贪心】
- node js简单爬虫实现
- 简单的租车系统
- Rust 1.12 发布
- 设计模式
- c语言编程常犯的<8大错误>
- bzoj1009: [HNOI2008]GT考试