线程和进程的区别
来源:互联网 发布:网络黄金egd今日价格 编辑:程序博客网 时间:2024/06/06 06:42
线程的划分尺度要比进程小,一个进程里面可能会包含有多个线程,当多个线程并发运行的时候可以提高程序的运行效率(多个线程一起共享内存)。但是在操作系统里面,线程是不会被单独划分出来独立地占用一个资源空间的。每一个线程都会有一个属于自己的入口,执行顺序,出口。线程不能够单独地存在,它们都是要依靠其他的程序块通过相应的方法来进行调用的,这也是线程和进程的重要区别。
对于进程而言,就可以理解为是很多个线程的集合,一个进程里面含有多个线程,每一个进程都是一个独立的实体,在操作系统里面都会独立地占用某一块资源区域。这一点相对于线程来说是不一样的,进程所拥有的资源要比线程大得多,线程所拥有的资源相当的少(但是也并非没有,例如说程序计数器,寄存栈器和栈,这些都需要资源来运行)。
进程和线程的主要区别还是在于操作系统资源管理方式。进程有着自己独立地地址空间,一个进程崩溃之后,在保护模式之下,不会破坏到其他的进程。但是线程却不一样,一个线程要是被破坏了,就有可能会破坏到了其他的几个线程,导致整个进程都出现崩溃的现象(原因是:操作系统里面的保护模式会去保护每一个进程,但是线程有着自己的堆栈和局部变量,不同的线程都共享相同的内存空间)。所以大多情况下多进程的程序要比多线程的程序健壮性更佳。但是多进程在进行进程的切换时,耗费的资源会比较大,所以它们的效率会相对差一些。
阅读全文
0 0
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 进程和线程的区别
- 线程和进程的区别
- 进程和线程的区别
- 线程和进程的区别
- HBase的RowKey设计原则
- Rails之关于时间(时区)
- Node.js学习之Telnet
- ZooKeeper伸缩性
- MyBatis在insert插入操作时返回主键ID的配置
- 线程和进程的区别
- Tomcat开机自启动
- angularjs
- 大连血液中心见习报告
- 关于ArcGIS API for JavaScript中basemap的总结介绍(一)
- 快速排序
- Spring Data JPA
- TortoiseGit disconnected no supported authentication
- shell几点细节问题总结