linux多线程

2.1、线程同步互斥锁

1、相关概述:
互斥锁主要用来实现对内核中临界资源互斥访问功能。
在这种情况下,每次只可以有一个线程运行。
2、遵守一定规则:
同一时间只能有一个线程使用互斥锁,并且由之解锁,互斥锁所在内存区域是无法被释放的,在互斥锁之前必须需要初始化。

2.2、相关API

1、初始化互斥锁:
pthread_mutex_t mutex;// 可以定义为全局变量

2、创建及其销毁

a、创建:int pthread_mutex_init(pthread_mutex_t *restrict mutex, const
pthread_mutexattr_t *restrict attr); pthread_mutex_t *restrict
mutex:这是一个指针 const pthread_mutexattr_t *restrict
attr:属性(一般使用默认属性NULL)

b、销毁:int pthread_mutex_destroy(pthread_mutex_t *mutex);

3、上锁解锁

a、上锁:int pthread_mutex_lock(pthread_mutex_t *mutex);

b、解锁:intpthread_mutex_unlock(pthread_mutex_t *mutex);

2.3、编程实践

在这里插入图片描述
在这里插入图片描述

2.4、运行结果

在这里插入图片描述
解析:t1 会保持先运行,直到t1调用pthread_exit结束后t2才开始运行。

有关于线程的创建,等待。退出。请在此观看:
线程创建,等待,退出

如有错误,敬请指正,每天学习,望明天更好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值