news 2026/5/25 16:17:22

线程及其函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
线程及其函数

一,线程定义及特征

1.概念:Linux中,线程是轻量级的进程,其属于某个进程。

2.特征:

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

线程是系统中最小的执行单位。

进程中,线程与线程是平级关系。

在进程中,默认有一个主线程。

二,与线程的区别

线程进程
资源可共享资源独立
不稳定(一个线程崩溃,整个进程崩溃)相对稳定
线程创建需在进程空间中(8MB)需3GB空间
并发度高相较线程低

三,线程编程步骤

创建多线程 ->线程空间操作->线程资源回收(线程退出后,默认栈区不释放)

相关函数

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 指向指针函数的函数指针。

本质上是一个函数的名称即可。称为th回调函数,是线程的执行空间。

arg 回调函数的参数,即参数3的指针函数参数。

返回值:成功 0 ;失败 错误码

2.id号的获取:pthread_t pthread_self(void)

pthread_t pthread_self(void); unsigned long int; %lu

功能:获得当前线程的id

3.退出线程:(1)pthread_exit

void pthread_exit(void *retval); exit return p;

功能:子线程自行退出

参数:

retval 线程退出时候的返回状态。

无返回值。

(2)pthread_cancel

int pthread_cancel(pthread_t thread)

功能:请求结束一个线程

参数:thread 请求结束一个线程tid。

返回值:成功 0 ;失败 非0值;
4.线性空间的回收:pthread_join

int pthread_join(pthread_t thread, void **retval)

功能:通过该函数可以将指定的线程资源回收,该函数具有阻塞等待功能,如果指定的线程没有结

束,则回收线程会阻塞。

参数:thread 要回收的子线程tid

retval 要回收的子线程返回值/状态。ptread_exit(值);

返回值:成功 0 ;失败 非0值

四,分离属性

给某个线程设置的属性,如果线程设置了这个属性,那么,线程在退出后,相关资源(栈区)会

被系统回收,原来创建者,就不能回收了。目的线程消亡,自动回收空间。

函数:pthread_deatch

int pthread_deatch(pthread_t thread);

功能:设置分离属性

参数:线程id号,填自己的id

返回值:成功 0 ;失败 非0值;

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 2:08:07

视觉盛宴:鸿蒙Canvas/Animation与Flutter CustomPaint的深度协同

前言:当“声明式UI”遇上“Skia引擎” 在鸿蒙Flutter的混合开发中,我们经常会遇到一种尴尬的局面:原生侧(ArkUI)画了一个漂亮的图表,Flutter侧(Widget)也画了一个,但两者…

作者头像 李华
网站建设 2026/5/25 10:01:09

钉钉机器人网关接入LobeChat对外服务能力

钉钉机器人网关接入LobeChat对外服务能力 在企业办公场景中,AI助手的落地常常面临一个尴尬局面:技术团队搭建了强大的本地大模型系统,但普通员工却因为要切换平台、学习新工具而望而却步。与此同时,几乎每个员工每天都在使用的钉钉…

作者头像 李华
网站建设 2026/5/25 12:36:35

20. 指数函数和对数函数

1.指数函数 2.对数函数 1.指数函数 1).指数函数简介a.定义: 底数固定, 指数为变量的函数b.一般形式2).指数函数的核心性质3).指数函数定理2.对数函数 1).对数函数简介a.定义: 指数函数的逆运算b.一般形式2).对数函数的性质3).对数函数定理

作者头像 李华
网站建设 2026/5/25 15:10:26

15. 纹理尺寸是4的倍数

1. 纹理尺寸是4的倍数1. 纹理尺寸是4的倍数 1).内存对齐计算机(CPU/GPU)读取内存时不是逐字节读取, 而是按固定"对齐块"(比如4字节、16 字节、64 字节)批量读取 —— 这是硬件层面的优化, 能大幅提升访问效率Unity在导入非4倍数纹理时, 即使现代GPU支持非对齐读取, 也…

作者头像 李华
网站建设 2026/5/26 5:34:54

串的练习--------统计汉字

题目&#xff1a;统计汉字-2030 代码&#xff1a; /*汉字统计 HDOJ https://acm.hdu.edu.cn/showproblem.php?pid2030*/ #include<iostream> using namespace std; int main() {char s[100000] { 0 };int n;cin >> n;getchar();//消除换行符while (n--) {fgets…

作者头像 李华
网站建设 2026/5/26 5:34:04

LobeChat快手内容推送策略

LobeChat在快手内容推送中的实践与演进 在短视频平台竞争日益激烈的今天&#xff0c;用户注意力成为最稀缺的资源。如何让用户不仅“看到内容”&#xff0c;还能“主动发现内容”&#xff1f;这是像快手这样的平台面临的核心命题。传统推荐系统依赖隐式行为数据&#xff08;如完…

作者头像 李华