首页 > 其他分享 >多线程常用函数

多线程常用函数

时间:2024-04-04 09:15:34浏览次数:12  
标签:常用 函数 void 线程 pthread cond 多线程 attr

在 Linux 多线程编程中,有一些常用的函数和相关概念。这里做个记录方便查找:

pthread_create: 创建线程。
该函数的原型为 int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg),
其中 thread 是用于存储新线程标识符的变量,attr 是用于指定线程属性的参数(通常为 NULL),start_routine 是新线程要执行的函数,arg 是传递给 start_routine 的参数。

pthread_join: 等待线程结束。
该函数的原型为 int pthread_join(pthread_t thread, void **retval),用于等待指定线程结束执行。
thread 参数是要等待的线程标识符,retval 参数用于存储线程的返回值。

pthread_exit: 终止线程。
该函数的原型为 void pthread_exit(void *retval),用于在线程执行过程中退出线程。
retval 参数是线程的返回值。

pthread_cancel: 取消线程。
该函数的原型为 int pthread_cancel(pthread_t thread),用于请求取消指定线程的执行。

pthread_mutex_init, pthread_mutex_destroy: 初始化和销毁互斥锁。这两个函数分别用于创建和销毁互斥锁。

pthread_mutex_lock, pthread_mutex_unlock: 加锁和解锁互斥锁。这两个函数分别用于对互斥锁进行加锁和解锁操作。

pthread_cond_init, pthread_cond_destroy: 初始化和销毁条件变量。这两个函数分别用于创建和销毁条件变量。

pthread_cond_wait, pthread_cond_signal, pthread_cond_broadcast: 等待、信号和广播条件变量。这些函数用于等待条件变量的状态发生变化、发送信号以及广播信号给等待该条件变量的所有线程。

pthread_attr_init, pthread_attr_destroy, pthread_attr_setdetachstate: 初始化、销毁线程属性和设置线程分离状态。这些函数用于设置线程的属性,如线程的分离状态等。

 

 

 

 

 

 

 

标签:常用,函数,void,线程,pthread,cond,多线程,attr
From: https://www.cnblogs.com/lethe1203/p/18113884

相关文章

  • 多线程(2)-线程同步互斥锁Mutex
    在Linux多线程编程中,互斥锁(Mutex)是一种常用的同步机制,用于保护共享资源,防止多个线程同时访问导致的竞争条件。在POSIX线程库中,互斥锁通常通过pthread_mutex_t类型表示,相关的函数包括pthread_mutex_init、pthread_mutex_lock、pthread_mutex_unlock等。 下面为一个demo,......
  • 多线程(2)-线程同步条件变量
    在Linux多线程编程中,条件变量是一种用于线程间同步的重要机制。它通常与互斥锁结合使用,用于解决多个线程竞争共享资源的问题。条件变量允许一个线程在等待某个条件变为真时阻塞,并且在另一个线程改变条件并通知时恢复执行。这个玩意跟内核等待队列差不多意思。 在Linux多线......
  • 安全访问多线程环境:掌握 Java 并发集合的使用技巧
    哈喽,各位小伙伴们,你们好呀,我是喵手。  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把......
  • Python常用算法思想--总概篇
    算法的起源:欧几里德的《几何原本》中阐述的求两个数的最大公约数的过程。算法的定义:解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表用系统的方法描述解决问题的策略机制。算法的本质:算法是程序的灵魂,也是衡量一位程序员水平高低的最好参照物。算法的表示方......
  • python常用库(一)
    文章目录python常用库1、math库1.1、常量1.2、数值运算函数1.3、三角函数1.4、双曲函数1.5、其他函数2、datetime库2.1、datetime.date2.2、datetime.time2.3、datetime.datetime2.4、datetime.timedelta2.5datetime.timezone3、itertools库3.1、无限迭代器3.2、对迭......
  • python常用库(二)
    文章目录python常用库4、sys库4.1、**命令行参数**4.2、**模块导入**4.3、**退出程序**4.4、**标准输入输出**4.5、**系统相关信息**4.6、**内存管理**4.7、**其他功能**5、collections库5.1、**Counter计数器**5.2、**defaultdict默认字典**5.3、**OrderedDict有序......
  • 函数的递归调用(零基础理解递归)
    目录一.什么是递归二.递归的限制条件三.递归的举例四.递归与迭代正文开始一.什么是递归什么是递归?递归是c语言学习中一个绕不开的话题,那什么是递归呢?递归其实就是一种解决问题的方法,在c语言中,递归就是函数自己调自己.写一个史上最简单的C语言递归......
  • (C++)内联函数——<入门>
    概念:以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。如果在上述函数前增加inline关键字将其改成内联函数,在编译期间编译器会用函数体替换函数的调用。 查看方式:1.在release模式......
  • nextjs 的函数,参数,属性装饰器的使用
    //属性装饰器constdoc1:PropertyDecorator=(target:any,val:string|symbol)=>{console.log(target);console.log(val);val="覆盖";}//方法装饰器constdoc2:MethodDecorator=(target:any,val:string|symbol,desc:any)=>{cons......
  • 【Linux】在生产环境中,Linux系统排查常用命令
    问题排查文章目录问题排查top命令CPU:vmstatprocscpu内存:free硬盘:df硬盘IO:iostat网络IO:ifstat生产环境服务器变慢,诊断思路和性能评估top命令查看整机系统新能使用top命令的话,重点关注的是%CPU、%MEM、loadaverage三个指标在这个命令下,按1的话,可以看到每个C......