Qt学习之路---5.线程
来源:互联网 发布:win8.1优化 编辑:程序博客网 时间:2024/06/06 12:51
学习笔记,小白可以相互学习,大佬看到能告诉咱理解不对的地方就好了。
简单的创建线程,加互斥锁
/***********mythread.h***************************************/
#ifndef MYTHREAD_H#define MYTHREAD_H#include <QThread>#include <QDebug>#include<QMutex>class Mythread : public QThread{public: Mythread(QString buf,QMutex *buf_lock):buf(buf),buf_lock(buf_lock){} void run() { while(1) { buf_lock->lock(); sleep(2); qDebug()<<"buf = "<<buf; buf_lock->unlock(); } }private: QString buf; QMutex *buf_lock;};#endif // MYTHREAD_H
/**********************thread.h***********************************/
#ifndef THREAD_H#define THREAD_H#include <QString>#include <QDebug>#include <QThread>#include <QMutex>class thread : public QThread{public: thread(QString buf,QMutex *buf_lock):buf(buf),buf_lock(buf_lock){} void run() { while(1) { buf_lock->lock(); int i = 0,j = buf.length() - 1; QString temp; while(i < j) { temp[0] = buf[i]; buf[i] = buf[j]; buf[j] = temp[0]; i++; j--; } qDebug()<<"buf2 = "<<buf; buf_lock->unlock(); } }private: QString buf; QMutex *buf_lock;};#endif // THREAD_H
/***************************main.cpp***************************************/
#include <QCoreApplication>#include <mythread.h>#include <thread.h>#include <QMutex>int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QString buf = "123456789"; QMutex buf_mutex; Mythread x(buf,&buf_mutex); x.start(); thread y(buf,&buf_mutex); y.start(); return a.exec();}
阅读全文
0 0
- Qt学习之路---5.线程
- Qt 学习之路 2(71):线程简介
- Qt 学习之路 2(74):线程和 QObject
- Qt 学习之路 2(75):线程总结
- Qt学习之如何启动一个线程
- Qt学习之如何启动一个线程
- QT学习之 如何启动一个线程
- Qt 学习之路 2(73):Qt 线程相关类
- QT学习之路
- QT学习之路
- QT学习之路
- QT 学习之路
- QT 学习之路
- QT学习之路
- Qt学习之路
- qt线程学习记录
- Qt中线程学习
- QT 线程学习
- HDU
- 梳理 Opengl ES 3.0 (二)剖析一个GLSL程序
- OpenCV在图像中添加文字,画点,画直线
- JZOJ1294.【USACO题库】3.4.2 American Heritage美国血统
- hdu3974(dfs序建线段树)
- Qt学习之路---5.线程
- mac 下给文件夹增加权限
- android stuido 添加自定义jar 调用修改修改后的安卓系统方法
- jQuery和Vue的区别
- hdu 6170
- [mongodb]Failed to connect to 127.0.0.1:27017
- 如何优化提高tomcat启动速度
- Linux中./configure文件配置详解
- 网络流模板