Linux8-互斥锁、信号量
一、前情回顾
void perror(const char *s); |
功能: |
参数: |
二、资源竞争
1.多线程访问临界资源时存在资源竞争(存在资源竞争、造成数据错乱)
临界资源:多个线程可以同时操作的资源空间(全局变量、共享内存)
解决:
互斥:多个线程访问临界资源时,进行排他性访问。(同一时刻只允许一个线程对该临界资源进行访问)
互斥锁:解决多线程访问临界资源时,存在资源竞争。
1.创建 pthread_mutex_t mutex
2.初始化 pthread_mutex_init
3.加锁 int pthread_mutex_lock
4.解锁 int pthread_mutex_unlock
5.销毁锁 int pthread_mutex_destroy
int pthread_mutex_init(pthread_mutex_t *restrict muxt,const pthread_mutexattr_t *restrict attr);< |