Linux服务器开发(线程控制)pthread_mutex_xxx(),和pthread_cond_xxx()实现线程同步功能

本文介绍了Linux服务器开发中线程同步的重要工具——pthread_mutex和pthread_cond。详细讲解了pthread_mutex_init、pthread_mutex_lock、pthread_mutex_unlock、pthread_mutex_destroy等互斥锁函数,以及pthread_cond_init、pthread_cond_signal、pthread_cond_wait等条件变量函数的使用,阐述了它们在多线程编程中的作用和实现线程同步的功能。
摘要由CSDN通过智能技术生成

一 pthread_mutex_xxx()函数介绍

互斥锁初始化函数

int pthread_mutex_init(pthread_mutex_t *mutex,const pthread_mutexttr_t *mutexattr);

第一个参数 :定义的互斥锁的地址

第二个参数:定义的互斥锁的属性设置,如果设置为NULL则为默认缺省类型;

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

功能:初始化互斥锁

互斥锁上锁函数

int pthread_mutex_lock(pthread_mutex_t *mutex);

参数:定义的互斥锁的地址

函数返回值:成功返回0,出错返回-1

功能:为线程上锁

互斥锁解锁函数

int pthread_mutex_unlock(pthread_mutex_t *mutex);

参数:定义的互斥锁的地址

函数返回值:成功返回0,出错返回-1

功能:为线程解锁

互斥锁销毁函数

int pthread_mutex_destroy(pthread_mutex_t *mutex);

参数:定义的互斥锁

函数返回值:成功返回0,出错返回-1

功能:销毁互斥锁

互斥锁的定义

pthread_mutex_t 互斥锁;

编译需要链接库文件 需要加 -lpthread

补充说明

实际上对于锁的初始化
可以使用(动态初始化)
pthread_mutex_init(&锁名,NULL);

也可以使用其他方式:࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值