1.多线程系列文章 之 线程的初体验
我总觉得学一个东西时候,我们应该保留最简单本质的东西,接着做个demo的程序先跑起来,再慢慢学入进去.这样一来难度也不会那么大,有时我们也需要自我陶醉一翻,有点成就感了,才能有动力下去。 这是多线程系列文章的第一篇,欢迎你进入QT多线程的世界.
每个操作系统平台和语言都有自己创建线程的办法,可我们精力有限,不可能一个个全都知道和去学,一般工作也就是掌握一两个.幸好现在有QT,免去平台差异的东西。qt大概从3.x后就开始有了线程支持,到了4.x的时候更是加入了更多高级功能,比如跨线程signal/slot,线程消息循环等,这也为我们做线程通信提供了很好的环境.
在QT要使用线程的话,必须从QThread派生一个类,这是规定,哪怕你的线程做的事情简单到1+1都得这么做.。这次我们先做个简单的程序,让一个多线程程序跑起来,其他的留到以后再说.
使用一个线程的主要的步骤如下:
1.定义一个线程类,继承自QThread
2.重载protected Run方法
3.实例化类,用QThread 的Start方法 ,开始跑起线程
这样最终创建的线程将和主线程就并发运行了
CTHREAD.H
#ifndef CTHREAD_H #define CTHREAD_H #include <QThread> class CThread : public QThread { public: CThread(); protected: void run(); }; #endif // CTHREAD_H
CTHREAD.cpp
#include "CThread.h" #include <QDebug> CThread::CThread():QThread() { } void CThread::run() { for(int i=1;i<=10000;i++) qDebug()<<i; }
赶紧跑起来运行吧