线程使用之互斥量

来源:互联网 发布:逃生2剧情解析知乎 编辑:程序博客网 时间:2024/05/29 04:20

mutex.h

#include <QThread>class Thread_Mutex : public QThread{public:    Thread_Mutex();    void setMessage(QString msg);protected:    void run();private:    QString message;    static QMutex mutex;};

mutex.cpp

#include "mutex.h"#include <QDebug>QMutex Thread_Mutex::mutex;//初始化静态成员Thread_Mutex::Thread_Mutex(){//    qDebug() << "mutex:" << mutex;}void Thread_Mutex::run(){    //while(1)    //for(;;)    forever//死循环    //Qt中的,非标准C++标准库中的保留字    {        mutex.lock();//互斥量上锁        qDebug()<<message;        qDebug()<<message+message;        mutex.unlock();//互斥量解锁        sleep(2);    }}void Thread_Mutex::setMessage(QString msg){    message = msg;}

main.cpp

#include <QThread>#include "mutex.h"int main(int argc, char *argv[]){    QApplication a(argc, argv);    Thread_Mutex thread_MutexA;    thread_MutexA.setMessage("A");    Thread_Mutex thread_MutexB;    thread_MutexB.setMessage("B");    thread_MutexA.start();    thread_MutexB.start();    return a.exec();}
原创粉丝点击