我是靠谱客的博主 不安日记本,这篇文章主要介绍linux互斥锁用法范例pthread_mutex_lock,现在分享给大家,希望可以做个参考。

linux线程互斥锁用法,防止竞争,多线程锁用法
mutex lock实例
mutex_lock例子
linux互斥锁范例
linux互斥锁实例
linux互斥锁例子
linux互斥锁pthread_mutex_lock用法范例
linux互斥锁用法实例
linux互斥锁使用例子

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include<stdlib.h> #include<stdio.h> #include<unistd.h> #include<pthread.h> typedef struct ct_sum { int sum; pthread_mutex_t lock; }ct_sum; void * add1(void * cnt) { pthread_mutex_lock(&(((ct_sum*)cnt)->lock)); int i; for( i=0;i<50;i++) {(*(ct_sum*)cnt).sum+=i; } pthread_mutex_unlock(&(((ct_sum*)cnt)->lock)); pthread_exit(NULL); return 0; } void * add2(void *cnt) { int i; cnt= (ct_sum*)cnt; pthread_mutex_lock(&(((ct_sum*)cnt)->lock)); for( i=50;i<101;i++) { (*(ct_sum*)cnt).sum+=i; } pthread_mutex_unlock(&(((ct_sum*)cnt)->lock)); pthread_exit(NULL); return 0; } int main(void) { int i; pthread_t ptid1,ptid2; int sum=0; ct_sum cnt; pthread_mutex_init(&(cnt.lock),NULL); cnt.sum=0; pthread_create(&ptid1,NULL,add1,&cnt); pthread_create(&ptid2,NULL,add2,&cnt); pthread_mutex_lock(&(cnt.lock)); printf("sum %dn",cnt.sum); pthread_mutex_unlock(&(cnt.lock)); pthread_join(ptid1,NULL); pthread_join(ptid2,NULL); pthread_mutex_destroy(&(cnt.lock)); return 0; }

最后

以上就是不安日记本最近收集整理的关于linux互斥锁用法范例pthread_mutex_lock的全部内容,更多相关linux互斥锁用法范例pthread_mutex_lock内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部