进程与线程(持续更新中。。。)
来源:互联网 发布:软件开发详细计划书 编辑:程序博客网 时间:2024/04/28 09:43
程序,进程,线程
程序:存放在硬盘中的文件,指令集+数据。被组织成:正文段(指令集) + 用户数据段(数据)
进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竟争计算机系统资源的基本单位。由程序代码,相关数据和进程控制块组成的。程序加载到内存中,分配内存空间,存放正文段(指令集) + 用户数据段(栈 + 堆) + 系统数据段(PCB等系统用到的数据结构)。对于任何单处理器计算机,任何时候最多只有一个进程在执行,处于运行态。
子进程获得父进程的数据空间堆和栈的复制品
线程:是进程的一部分,一个没有线程的进程可以被看作是单线程的。线程有时又被称为轻权进程或轻量级进程,也是 CPU 调度的一个基本单位。线程的改变只代表了 CPU 执行过程的改变,而没有发生进程所拥有的资源变化。
线程的优点:
- 线程的创建和结束所需要的系统开销也比进程的创建和结束要小得多
- 提高了不同的执行程序间的通信效率,独立进程间的通信需要内核的介入,以提供保护和通信所需要的机制。但是一个进程中所有线程共享内存和文件,他们无须调用内核就可以通信。
进程与线程的关系:进程拥有一个完整的虚拟地址空间,不依赖于线程而独立存在;反之,线程是进程的一部分,没有自己的地址空间,进程中的线程驻留在同一地址空间,一起共享分配给该进程的所有资源。
多进程可以在不同的核上运行,但是线程不可以跨机器转移,因为线程是存在于单一的进程中,只能在一个核上运行。
进程与程序的主要区别:
(1)程序是永存的;进程是暂时的,是程序在数据集上的一次执行,有创建有撤销,存在是暂时的;
(2)程序是静态的观念,进程是动态的观念;
(3)进程具有并发性,而程序没有;
(4)进程是竞争计算机资源的基本单位,程序不是。
(5)进程和程序不是一一对应的: 一个程序可对应多个进程即多个进程可执行同一程序; 一个进程可以执行
阅读全文
0 0
- 进程与线程(持续更新中。。。)
- 进程与线程区别联系汇总(持续更新)
- (转)LR 中线程进程问题,持续更新。。。
- JAVA线程管理与操作系统的进程调度<持续更新>
- 多进程多线程编程汇总(持续更新中)
- 进程&线程(持续更)
- 线程与进程(中)
- 线程源码阅读分析,持续更新中。。。
- 软件测试,经验与教训 (持续更新中...)
- 待学习与解决的问题(持续更新中......)
- iOS开发编码建议与规范(持续更新中)
- 数据结构与算法汇总(持续更新中)
- ER图与数据库(持续更新中.....)
- mysql判断空与0(持续更新中)
- VPN与代理协议(持续更新中....)
- 术语(更新持续中。。。)
- 名人名言(持续更新中)
- 记录(持续更新中)
- 删除桌面蓝色问号-SVN
- spark ALS 使用checkpoint 机制
- poj2115 Looooops(扩展欧几里德模板)
- anaconda的spyder不能打开,pythonw打开闪退
- golang web框架总结
- 进程与线程(持续更新中。。。)
- docker-centos安装docker
- hashmap的底层以及实现
- Nginx--官网中文翻译(中英文对比)--10-服务器名字Server names
- 如何在神箭手上快速开发爬虫——第三课 如何爬取列表页数据【87870 VR资讯文章】
- PTA-树的遍历(后中推先,层序遍历)
- Linux6.6安装JDK
- c++设计一个不能被继承的类
- kaldi中log文件生成逻辑