Linux--多线程访问全局变量互斥的例子
来源:互联网 发布:网眼监控软件破解版 编辑:程序博客网 时间:2024/05/16 03:32
以下案例是两个线程同时访问一个全局worker变量,并分别对里面的成员counter进行增长
#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <pthread.h>#include <string.h>#define MAX_NUM 5000typedef struct {int counter;pthread_mutex_t counter_mutex;}COUNTER;COUNTER worker;void *run(void *arg){int i = 0;int val = 0;char line[1024] = {0};for (; i < MAX_NUM; ++i){pthread_mutex_lock(&worker.counter_mutex);val = worker.counter;sprintf(line, "thread = %d, counter = %d\n", (int)pthread_self(), val+1);write(STDOUT_FILENO, line, strlen(line));worker.counter = val + 1;memset(line, 0, strlen(line));pthread_mutex_unlock(&worker.counter_mutex);}}int main(int argc, char *argv[]){pthread_t tid1, tid2;worker.counter = 0;pthread_mutex_init(&worker.counter_mutex, NULL);pthread_create(&tid1, NULL, run, NULL);pthread_create(&tid2, NULL, run, NULL);pthread_join(tid1, NULL);pthread_join(tid2, NULL);pthread_mutex_destroy(&worker.counter_mutex);return 0;}
0 0
- Linux--多线程访问全局变量互斥的例子
- java多线程互斥访问小例子
- linux c++ 多线程 互斥访问
- 多线程:利用互斥锁来处理全局变量的互斥问题
- linux多进程多线程互斥同步例子
- linux多进程多线程互斥同步例子
- linux多进程多线程互斥同步例子
- Linux多进程多线程互斥同步例子
- 一个例子展开,介绍Linux下面线程的操作、多线程的同步和互斥。
- 本文一个例子展开,介绍Linux下面线程的操作、多线程的同步和互斥
- 一个例子展开,介绍Linux下面线程的操作、多线程的同步和互斥。
- 神奇的linux:文件互斥访问
- linux多线程的互斥与同步
- Linux多线程的同步与互斥
- Linux多线程的同步与互斥
- Linux的多线程--同步与互斥
- Java中多线程互斥访问的实现
- 多线程实现互斥访问对象的方法
- 欢迎使用CSDN-markdown编辑器
- Callable与Future的介绍
- android--导航(BottomNavigationBar)
- Phone Bills
- java ssl https 连接详解 生成证书
- Linux--多线程访问全局变量互斥的例子
- IE9兼容性CSS之一transform:rotate
- spring-spring mvc-mybatis 实现主从数据库配置
- [LeetCode] 21. Merge Two Sorted Lists java
- 谷歌TensorFlow人工智能学习系统简介及基本使用入门
- Jquery 中 循环遍历 选择器 each()
- C++中的异常
- Swift TableView自定义Cell的高度
- [LeetCode] 23. Merge k Sorted Lists java