“C高级”课程中线程的基本含义和与进程的关系
·
在今天的C高级课程学习中,线程的相关知识可谓通俗明朗。因为其与较前学习的进程的知识有异曲同工之处!
在 C 语言的高级课程中,线程和进程是并发编程的两个核心概念。
一、线程的基本含义线程(Thread)
线程(Thread)是操作系统能够进行运算调度的最小单位,也是程序执行的最小单位。它被包含在进程之中、是进程内部的执行单元,是程序中的一条执行路线。
二、线程与进程的关系
正如线程所定义的那样,线程被包含在进程之中、是进程内部的执行单元,进程是资源分配的最小单位,线程是CPU调度的最小单位。
创建一个进程时,系统会为其分配独立的地址空间、文件表、信号处理表等资源;而创建线程时,只分配一个线程控制块(TCB)和栈空间,其余所有资源都复用所属进程的。进程内的所有线程共享该进程的代码段、数据段、堆、打开的文件描述符、信号处理函数等。可以说,线程是进程内部的一条“轻量级执行路径”。

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)