使用互斥量实现多线程交替打印helloworld
Posted burgess-fan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用互斥量实现多线程交替打印helloworld相关的知识,希望对你有一定的参考价值。
/*=============================================================== * Copyright(C) 2020 Burgess Fan aLL rights reserved. * * 文件名称:mutex.c * 创 建 者:Burgess * 创建日期:2020年05月10日 ================================================================*/ #include <stdio.h> #include <unistd.h> #include <pthread.h> #include <stdlib.h> pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER; int sum=0; void* thr1(void *arg) { while(1) { pthread_mutex_lock(&mutex);//加锁 printf("I am thread No1,hello world! "); sleep(1); pthread_mutex_unlock(&mutex);//释放锁 sleep(1);//增加睡眠时间确保不会让线程本身抢到锁 } } void* thr2(void *arg) { while(1) { pthread_mutex_lock(&mutex); printf("I am thread No2,HELLO WORLD! "); sleep(1); pthread_mutex_unlock(&mutex); sleep(1); } } int main() { pthread_t tid[2]; pthread_create(&tid[0],NULL,thr1,NULL); pthread_create(&tid[1],NULL,thr2,NULL); pthread_join(tid[0],NULL); pthread_join(tid[1],NULL); return 0; }
以上是关于使用互斥量实现多线程交替打印helloworld的主要内容,如果未能解决你的问题,请参考以下文章