Linux 线程库中的接口介绍

1.pthread_create()创建线程

pthread_create()的语法形式:

参数解释:

第一个参数thread :事先创建好的pthread_t类型的参数。成功时thread指向的内存单元被设置为新创建线程的线程ID。

第二个参数attr :用于定制各种不同的线程属性。通常直接设为NULL。

第三个参数start_routine :新创建线程从此函数开始运行。

第四个参数arg :start_routine函数的参数。无参数时设为NULL即可。有参数时输入参数的地址。当多于一个参数时应当使用结构体传入。
返回值:成功返回0,否则返回错误码。

2.pthread_exit()退出线程

语法形式:

参数解释:

参数retval:是一个无类型指针,指定退出信息。进程中的其他线程可以通过调用pthread_join函数访问到这个指针。

3.pthread_join()等待线程

pthread_join()的语法形式:

等待thread指定的线程退出,线程未退出时,该方法阻塞 。

第一个参数thread :是线程的id,就是要等待的线程的id。

第二个参数retval:是thread线程向主线程返回的信息,不返回信息,就传空。

相关推荐
江畔柳前堤5 小时前
roLabelImg 详细安装教程
开发语言·人工智能·后端·云原生
Wang's Blog5 小时前
Go-Zero 项目开发47:自研微服务框架的必要性与核心结构设计
开发语言·微服务·golang
白鸽(二般)6 小时前
MinIO Java Client API
java·开发语言
hPw0eKIqD6 小时前
C++ 模板参数推导问题小记(非推导上下文)
开发语言·c++
临床数据科学和人工智能兴趣组6 小时前
要使用 R Markdown,首先需要安装 R 和 RStudio,接着安装 rmarkdown 包
开发语言·数据挖掘·数据分析·r语言·r语言-4.2.1
软萌萌的17 小时前
Java Spring Boot 修改yml配置&加载顺序规则
java·spring boot·python
Nebula嵌入式7 小时前
【C语言】09-深入解析main函数
linux·c语言·开发语言·嵌入式
IT小盘7 小时前
13-企业Prompt模板-角色任务约束与输出格式
java·前端·prompt
爱敲键盘的猴子7 小时前
Java并发编程 -- volatile
java·java并发
Dxy12393102168 小时前
Linux 编译安装 Python 3.12.10(多版本共存,不破坏系统Python)
linux·运维·python