Linux C多线程学习
Posted xjyxp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux C多线程学习相关的知识,希望对你有一定的参考价值。
/*************************************************************************
> File Name: eg4.c > Author: > Mail: > Created Time: 2019年06月29日 星期六 10时56分11秒 ************************************************************************/ #include<stdio.h> #include<stdlib.h> #include<pthread.h> pthread_mutex_t lock; int s = 0; void* myfunc(void* args) int i = 0; for(i=0; i<1000000; i++) pthread_mutex_lock(&lock); s++; pthread_mutex_unlock(&lock); return NULL; int main() pthread_t th1; pthread_t th2; pthread_mutex_init(&lock, NULL); pthread_create(&th1, NULL, myfunc, NULL); pthread_create(&th2, NULL, myfunc, NULL); pthread_join(th1, NULL); pthread_join(th2, NULL); printf("s=%d\n", s);
多线程加锁
/************************************************************************* > File Name: test1.c > Author: > Mail: > Created Time: 2019年06月28日 星期五 21时12分51秒 ************************************************************************/ #include<stdio.h> #include<stdlib.h> #include<pthread.h> void* myfunc(void* args) int i; char* name = (char*)args; for(i=1;i<50;i++) printf("%s:%d\n", name, i); return NULL; int main() pthread_t th1; pthread_t th2; pthread_create(&th1, NULL, myfunc, "th1"); pthread_create(&th2, NULL, myfunc, "th2"); pthread_join(th1, NULL); pthread_join(th2, NULL); return 0;
以上是关于Linux C多线程学习的主要内容,如果未能解决你的问题,请参考以下文章