线程使用之读写锁
来源:互联网 发布:万科荣华金域名城1号楼 编辑:程序博客网 时间:2024/06/08 06:53
readwritelock.h
#include <QThread>class ReadThread : public QThread{public: ReadThread();protected: void run();};class WriteThread : public QThread{public: WriteThread();protected: void run();};
readwritelock.cpp
#include "readwritelock.h"#include <QDebug>#include <QReadWriteLock>//读写锁QReadWriteLock rwLock;int global2 = 0;ReadThread::ReadThread(){}void ReadThread::run(){ while(1) { //qDebug() << rwLock;//error rwLock.lockForRead();//上读锁 qDebug()<< currentThreadId() << ", Read:" << global2; qDebug() << "read finished!-----------"; rwLock.unlock();//解锁 sleep(1); }}WriteThread::WriteThread(){}void WriteThread::run(){ while(1) { rwLock.lockForWrite();//上写锁 int tmp = global2; global2++; qDebug()<< currentThreadId() << ", Write: " << tmp << "-->" << global2; qDebug() << "write finished!==================="; rwLock.unlock();//解锁 sleep(1); }}
main.cpp
#include <QApplication>#include <QThread>#include "readwritelock.h"int main(int argc, char *argv[]){ QApplication a(argc, argv); WriteThread *w1 = new WriteThread; WriteThread *w2 = new WriteThread; ReadThread *r = new ReadThread; ReadThread *r2 = new ReadThread; w1->start(); w2->start(); r->start(); r2->start(); return a.exec();}
阅读全文
0 0
- 线程使用之读写锁
- 线程学习之读写锁
- 线程编程之读写锁
- 线程同步之读写锁
- Linux线程同步之读写锁
- java 之 读写锁 线程间互斥
- 线程通信机制之轻量级读写锁
- Linux线程同步之读写锁
- linux线程同步之读写锁
- linux线程同步之读写锁
- Linux线程同步之读写锁
- linux线程同步之读写锁
- Linux线程同步之读写锁
- 解说线程安全之读写锁
- Unix 线程同步,使用读写锁
- linux线程使用读写锁共享全局变量
- java 线程 ReadWriteLock 读写锁的使用
- UNIX环境高级编程学习之第十一章线程-使用读写锁
- 等待队列 阻塞非阻塞
- 公历农历相互转换
- 运维笔记
- uboot编译内容详解
- Android集成高德地图如何将定位按钮显示到想要的位置
- 线程使用之读写锁
- 学生管理系统
- ini_set — 为一个配置选项设置值
- 汽车之家监控系统的第一次里程碑
- Spring Integration channel中使用message-store的例子
- 优酷自动播放代码
- Linux内核源码目录结构
- 修改linux终端命令行颜色
- Oozie4.1编译过程记录