我是靠谱客的博主 超帅花瓣,最近开发中收集的这篇文章主要介绍linux互斥锁用法,linux互斥锁用法范例pthread_mutex_lock,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

linux线程互斥锁用法,防止竞争,多线程锁用法

mutex lock实例

mutex_lock例子

linux互斥锁范例

linux互斥锁实例

linux互斥锁例子

linux互斥锁pthread_mutex_lock用法范例

linux互斥锁用法实例

linux互斥锁使用例子

#include

#include

#include

#include

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互斥锁用法,linux互斥锁用法范例pthread_mutex_lock的全部内容,希望文章能够帮你解决linux互斥锁用法,linux互斥锁用法范例pthread_mutex_lock所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部