码迷,mamicode.com
首页 > 编程语言 > 详细

进程与线程

时间:2020-01-03 21:26:42      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:pcb   系统管理   堆栈   进程控制   内存   系统管   变量   进程与线程的区别   申请   

一、什么是进程?

进程是程序的一次执行,是操作系统为正在运行的程序提供的抽象,即一个进程只是一个正在运行的程序。每个进程都有自己的地址空间、内存、数据栈,操作系统管理在其上运行的所有进程,并为这些进程公平的分配时间及系统资源。同时由于每个进程都有自己的内存空间和数据栈,所以只能使用进程间通信(IPC)的方式进行信息的交互而不能直接共享数据。在现代操作系统中,资源申请的基本单位是进程,进程由程序段、数据段和PCB(进程控制块)组成。

二、什么是线程?

线程是进程内的一个执行实体或执行单元,是比进程更小的能独立运行的基本单位,一个进程至少要有一个线程。

线程间共享进程内部的所有资源,每个线程有自己的堆栈和局部变量。

三、进程与线程的区别与联系

1、线程是程序执行的最小单元,而进程是操作系统分配资源的最小单元

2、一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线

3、进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段,数据集,堆等)及一些进程级的资源(如打开文件和信号等),某进程内的线程在其他进程不可见;

4、调度和切换:操作系统需要为每个进程分配独立的资源(包括内存空间、代码段、数据段、堆栈段等),这种操作的开销很大。而线程共享同一进程内部的资源(包括数据和地址空间等),因此CPU切换与创建一个线程的开销要小许多。

进程与线程

标签:pcb   系统管理   堆栈   进程控制   内存   系统管   变量   进程与线程的区别   申请   

原文地址:https://www.cnblogs.com/zhouxingyu1993/p/12146510.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!