|你应该知道的C / C ++中的线程函数
文章图片
文章图片
文章图片
文章图片
文章图片
在Unix / Linux操作系统中 , C / C ++语言为所有与线程相关的功能提供POSIX线程(pthread)标准API(应用程序接口) 。 它允许我们为并发流程创建多个线程 。 但是我们必须在脚本的开头包含pthread.h头文件 , 才能使用pthreads库的所有功能 。 要执行c文件 , 我们在编译文件时必须在命令行中使用-pthread或-lpthread 。
该功能在所定义的pthread库包括:
1.pthread_create:用于创建新线程句法:
参数:
【|你应该知道的C / C ++中的线程函数】thread:指向无符号整数值的指针 , 该整数值返回创建的线程的线程ID 。
attr:指向用于定义线程属性(如分离状态 , 调度策略 , 堆栈地址等)的结构的指针 。 对于默认线程属性 , 设置为NULL 。
start_routine:指向线程执行的子例程的指针 。 子例程的返回类型和参数类型必须为void * 。 该函数具有单个属性 , 但是如果需要将多个值传递给该函数 , 则必须使用结构 。
arg:指向void的指针 , 该指针包含先前参数中定义的函数的参数
2.pthread_exit:用于终止线程句法:
参数:此方法接受强制参数retval , 该参数是指向存储终止线程的返回状态的整数的指针 。 此变量的范围必须是全局的 , 以便任何等待加入该线程的线程都可以读取返回状态 。
3.pthread_join:用于等待线程终止 。
参数:此方法接受以下参数:
th:当前线程正在等待的线程的线程ID 。
thread_return:指向th中提到的线程的退出状态存储位置的指针 。
4.pthread_self:用于获取当前线程的线程ID 。
5.pthread_equal:比较两个线程是否相同 。 如果两个线程相等 , 则该函数返回一个非零值 , 否则返回零 。
参数:此方法接受以下参数:
第一个线程的线程ID
第二个线程的线程ID
6.pthread_cancel:用于向线程发送取消请求
推荐阅读
- 印专家:中国不可怕,可怕的是它都已经领跑6G了各国还在争5G
- Eyeware Beam使用iPhone追踪玩家在游戏中的眼睛运动
- 点菜不应该只有扫码一种选择
- 2021年还能买4G手机吗?也许天天用5G的用户,告诉你答案
- 还记得那个买苹果手机的小男孩吗?如今的他过得怎么样呢?
- 今年过年不回家的你 应该怎样度过七天假期?
- 田伟院士:我眼中的医疗机器人
- 苹果iOS 14升级这么久,这10个隐藏功能你未必全知道
- 荣耀手环6简评:这是一个有“偏见”的产品
- 带着耳机睡觉的危害你知道吗?