本文共 850 字,大约阅读时间需要 2 分钟。
pthread_mutex_t m_mutex;
pthread_mutex_init(&m_mutex, NULL);
pthread_mutex_lock(&m_mutex);pthread_mutex_unlock(&m_mutex);pthread_mutex_destroy(&m_mutex);在线程实际运行过程中,我们经常需要多个线程保持同步。这时可以用互斥锁来完成任务;互斥锁的使用过程中,主要有pthread_mutex_init,pthread_mutex_destory,pthread_mutex_lock,pthread_mutex_unlock这几个函数以完成锁的初始化,锁的销毁,上锁和释放锁操作。
#include <pthread.h>
#include <stdio.h>pthread_mutex_t mutex ;
void print_msg(void arg){ int i=0;pthread_mutex_lock(&mutex);for(i=0;i<15;i++){ printf("output : %d\n",i);usleep(100);}pthread_mutex_unlock(&mutex);}int main(int argc,char** argv){ pthread_t id1;pthread_t id2;pthread_mutex_init(&mutex,NULL);pthread_create(&id1,NULL,print_msg,NULL);pthread_create(&id2,NULL,print_msg,NULL);pthread_join(id1,NULL);pthread_join(id2,NULL);pthread_mutex_destroy(&mutex);return 1;转载于:https://blog.51cto.com/wenxuehui/2310199