2.线程

1)线程

线程是一个轻量级的进程,用来实现多任务并发。

线程是操作系统任务调度的最小单位。

进程是操作系统资源分配的最小单位。

2)线程的创建

线程由所在进程创建,线程一定是属于某个进程的。

线程创建时,所在进程为其分配独立的栈区空间(默认8M),线程共用所在进程的堆区、数据区、文本区、内核区域。

3)进程与线程的区别

4)线程的调度

宏观并行,微观串行

调度方式与进程一样

5)线程消亡

1. 线程退出

2. 回收线程资源空间

6)线程相关函数接口

(1)创建线程

pthread_create()

int pthread_create(pthread_t *thread, const pthread_attr_t *attr,

void *(*start_routine) (void *), void *arg);

功能:创建并启动一个线程

参数:

thread :保存线程ID的变量地址

attr :线程属性的变量地址

NULL :按照默认属性创建

start_routine:函数指针:指向线程执行的任务函数的指针(线程任务函数)

arg 传递给线程任务函数的参数

返回值:

成功:0

失败:错误码(!0)

注意:

1.使用线程相关接口时,编译和链接需要链接线程库:-lpthread/-pthread

2.创建线程的主进程不能先于线程结束。

Logo

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

更多推荐