C++ 多线程互斥同步
来源:互联网 发布:淘宝企业店铺怎么转让 编辑:程序博客网 时间:2024/06/06 01:19
#include<iostream>
#include <pthread.h>
#include<unistd.h>
#include<mutex>
using namespace std;
mutex p12,p13;
void *thread_func2(void *param)
{
while(1)
{
p13.lock();
//pthread_mutex_lock(&mutex);
printf("**simon**%s:%d\n",__FUNCTION__,__LINE__);
//sleep(1);
//pthread_mutex_unlock(mutex2);
p12.unlock();
}
}
void *thread_func1(void *param)
{
while(1)
{
p12.lock( );
//pthread_mutex_lock(mutex2);
printf("**simon**%s:%d\n",__FUNCTION__,__LINE__);
//sleep(2);
//pthread_mutex_unlock(&mutex);
p13.unlock( );
}
}
int main()
{
pthread_t pid1,pid2;
pthread_mutex_t mutex,mutex2;
pthread_mutex_init(&mutex,NULL);
//pthread_mutex_init(&mutex2,NULL);
pthread_create(&pid1,NULL,thread_func1,NULL);
pthread_create(&pid2,NULL,thread_func2,NULL);
pthread_join(pid1,NULL);
pthread_join(pid2,NULL);
return 0;
}
#include <pthread.h>
#include<unistd.h>
#include<mutex>
//特别注意,多线程程序中不能进行大量耗时操作,会照成进程无故退出或停止运行,应将大数据压入队列处理
using namespace std;
mutex p12,p13;
void *thread_func2(void *param)
{
while(1)
{
p13.lock();
//pthread_mutex_lock(&mutex);
printf("**simon**%s:%d\n",__FUNCTION__,__LINE__);
//sleep(1);
//pthread_mutex_unlock(mutex2);
p12.unlock();
}
}
void *thread_func1(void *param)
{
while(1)
{
p12.lock( );
//pthread_mutex_lock(mutex2);
printf("**simon**%s:%d\n",__FUNCTION__,__LINE__);
//sleep(2);
//pthread_mutex_unlock(&mutex);
p13.unlock( );
}
}
int main()
{
pthread_t pid1,pid2;
pthread_mutex_t mutex,mutex2;
pthread_mutex_init(&mutex,NULL);
//pthread_mutex_init(&mutex2,NULL);
pthread_create(&pid1,NULL,thread_func1,NULL);
pthread_create(&pid2,NULL,thread_func2,NULL);
pthread_join(pid1,NULL);
pthread_join(pid2,NULL);
return 0;
}
0 0
- 多线程互斥同步
- 多线程互斥同步
- 多线程同步互斥
- iOS (objective-c) 中的多线程互斥同步问题
- iOS (objective-c) 中的多线程互斥同步问题
- iOS (objective-c) 中的多线程互斥同步问题
- Objective-C多线程同步互斥及锁
- iOS (objective-c) 中的多线程互斥同步问题
- iOS (objective-c) 中的多线程互斥同步问题
- iOS (objective-c) 中的多线程互斥同步问题2
- Linux C——多线程的同步和互斥
- 多线程同步与互斥
- 多线程同步与互斥
- 多线程同步与互斥
- 多线程同步与互斥
- 多线程同步与互斥
- MFC多线程同步互斥
- 多线程互斥与同步
- MongoDB C++ Driver Windows 编译记录
- HDU 1297 Children’s Queue JAVA *
- Amba A7 串口打印功能实现简析
- LintCode 14 二分查找
- Android图片添加阴影效果的两种方式
- C++ 多线程互斥同步
- PAT-B1051. 复数乘法
- C# File类详解
- mysql中float精度
- DOS命令
- 如何利用Spring Cloud构建起自我修复型分布式系统
- express常用中间件
- HDU2852【树状数组+二分】
- Socket