进程 & 线程(基础篇)

本文深入探讨了进程和线程的概念,包括它们的定义、区别和关系。进程是操作系统资源分配的基本单位,而线程是执行流的最小单元,线程在进程内部共享资源。进程间通信复杂,线程间通信相对直接。线程具有创建销毁快速、调度速度快等优势。在多核系统中,进程和线程各有应用场景,如线程适合频繁创建销毁和计算密集型任务,进程则适合稳定和安全的需求。文章还详细介绍了进程的动态性、并发性、独立性等特征,以及线程的轻量级、独立调度和资源共享等特点,并阐述了进程和线程的创建与状态转换过程。
摘要由CSDN通过智能技术生成


进程和线程是我们常见到的笔试和面试的知识点,那么进程和线程到底有多少东西呢,二者之间又有什么联系和区别呢?
首先来简单的看一下它们的概念吧!
——进程:(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
——线程:有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位。

进程和线程的区别

1)地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。
2)通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
3)调度和切换:线程上下文切换比进程上下文切换要快得多。
4)在多线程OS中,线程不是一个可执行的实体。

% % % % % % % % % % % % % % % % % % % % %% % % % % % %
进程和线程的关系
(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程是操作系统可识别的最小执行和调度单位。
(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量。
(3)处理机分给线程,即真正在处理机上运行的是线程。
(4)线程在执行过程中,需要协作同步。不同进程的线程间要利

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值