Java多线程简单介绍-1
来源:互联网 发布:seo标题 编辑:程序博客网 时间:2024/05/01 16:36
1、介绍
多线程比多任务更加有挑战。多线程是在同一个程序内部并行执行,因此会对相同的内存空间进行并发读写操作。这可能是在单线程程序中从来不会遇到的问题。其中的一些错误也未必会在单CPU机器上出现,因为两个线程从来不会得到真正的并行执行。然而,更现代的计算机伴随着多核CPU的出现,也就意味着不同的线程能被不同的CPU核得到真正意义的并行执行。
2、多线程的优点
- 资源利用率更好;
- 程序设计在某些情况下更简单;
- 程序响应更快
3、多线程的代价
- 设计更复杂
虽然有一些多线程应用程序比单线程的应用程序要简单,但其他的一般都更复杂。在多线程访问共享数据的时候,这部分代码需要特别的注意。线程之间的交互往往非常复杂。不正确的线程同步产生的错误非常难以被发现,并且重现以修复。
- 上下文切换的开销
当CPU从执行一个线程切换到执行另外一个线程的时候,它需要先存储当前线程的本地的数据,程序指针等,然后载入另一个线程的本地数据,程序指针等,最后才开始执行。这种切换称为“上下文切换”(“context switch”)。CPU会在一个上下文中执行一个线程,然后切换到另外一个上下文中执行另外一个线程。上下文切换并不廉价。如果没有必要,应该减少上下文切换的发生
- 增加资源的消耗
线程在运行的时候需要从计算机里面得到一些资源。除了CPU,线程还需要一些内存来维持它本地的堆栈。它也需要占用操作系统中一些资源来管理线程。我们可以尝试编写一个程序,让它创建100个线程,这些线程什么事情都不做,只是在等待,然后看看这个程序在运行的时候占用了多少内存。
0 0
- Java多线程简单介绍-1
- java 多线程简单介绍
- 关于java多线程简单介绍.1
- Java中的多线程简单介绍(带代码)
- java 多线程 Synchronized的简单介绍
- Java多线程几个方法的简单介绍
- Java线程(1)--多线程介绍
- 【1】多线程的简单介绍和使用
- 多线程简单介绍
- 多线程的简单介绍
- 《多线程简单介绍》
- iOS 多线程篇1—多线程简单介绍
- java多线程(一)——简单介绍
- 多线程编程的简单介绍
- 多线程简单介绍(摘记)
- iOS开发-多线程简单介绍
- 多线程和socket简单介绍
- iOS开发多线程-多线程简单介绍
- 大型网站技术架构Tips
- 1055. The World's Richest (25)【排序】——PAT (Advanced Level) Practise
- struts2+jquery.ajax+json实现用户登陆,报错org.apache.struts2.json.JSONException:解决办法
- 利用jquery函数submit()提交表单注意事项
- Html判断客户端使用的Android还是Ios
- Java多线程简单介绍-1
- 010 MATLAB奇淫技巧之实现图片扫描
- 实验三的迷宫问题
- Remove Duplicates from Sorted List
- adb 命令行
- 73,类的多态性
- MONGO集群搭建
- C++中返回值为对象详解
- 各种命令更新...