进程与线程详解

本文深入解析进程与线程的概念,线程本质是具备独立上下文环境的函数,允许代码块作为独立执行流运行。进程包含线程,是资源的容器,而线程共享进程资源,是调度的基本单位。线程机制让代码块成为调度单元,提高程序执行效率,避免全局阻塞。总结:进程=线程+资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文参考于《操作系统真相还原》

1、执行流的概念

  我们首先来介绍一下执行流的概念,执行流就是一段逻辑上独立的指令区域,对应于代码,大到可以是整个程序文件,即进程,小到可以是一个功能独立的代码块,即函数,而线程本质上就是函数。执行流是独立的,其独立性体现在每个执行流都有自己的栈、一套自己的寄存器映像和内存资源,其实这就是执行流的上下文环境。因此,我们要想构造一个执行流,就要为其提供一整套的资源。因此,任何代码块,无论大小都可以独立成为执行流,只要在它运行的时候,我们提前准备好它所依赖的上下文环境即可,这里的上下文环境就是它所使用的寄存器映像、栈、内存等资源。

  那么,成为独立的执行流有什么用呢?在任务调度器的眼里,只有执行流才是调度单元,即处理器上运行的,每个任务都是调度器给分配的执行流,只要成为执行流就能够独立上处理器运行了,也就是说可以分配处理器的时间,处理器会专门分时来处理这个执行流中的指令。

2、线程到底是什么?

首先,我们通过一段代码来感受一下线程的创建:

#linclude<stdio.h>
#include<pthread 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值