pthread_mutex_t mutex
时间: 2023-12-27 17:25:06 浏览: 134
pthread_mutex_t是一个互斥锁类型,用于实现线程之间的互斥访问共享资源。下面是一个使用pthread_mutex_t的示例:
```c
#include <pthread.h>
pthread_mutex_t mutex; // 创建互斥锁
void* thread_function(void* arg) {
// 加锁
pthread_mutex_lock(&mutex);
// 共享数据操作
// ...
// 解锁
pthread_mutex_unlock(&mutex);
return NULL;
}
int main() {
// 初始化互斥锁
pthread_mutex_init(&mutex, NULL);
// 创建线程
pthread_t thread;
pthread_create(&thread, NULL, thread_function, NULL);
// 等待线程结束
pthread_join(thread, NULL);
// 销毁互斥锁
pthread_mutex_destroy(&mutex);
return 0;
}
```
在上面的示例中,我们首先创建了一个互斥锁`mutex`,然后在主线程中初始化该互斥锁。接下来,我们创建了一个新的线程,并在该线程中对共享数据进行操作。在操作共享数据之前,我们使用`pthread_mutex_lock`函数对互斥锁进行加锁,以确保只有一个线程可以访问共享数据。在共享数据操作完成后,我们使用`pthread_mutex_unlock`函数对互斥锁进行解锁,以允许其他线程访问共享数据。最后,在主线程中,我们使用`pthread_mutex_destroy`函数销毁互斥锁。
阅读全文