淺析 Qt中多線程系列之線程初體驗(yàn) 上篇
本文介紹的是Qt中多線程系列之線程初體驗(yàn),比較清淺的一些知識(shí),如果你對(duì)多線程感興趣的話,請(qǐng)繼續(xù)參考 淺析 Qt中多線程系列之線程控制 下篇,你肯定有興趣。先來看本篇內(nèi)容。
我總覺得學(xué)一個(gè)東西時(shí)候,我們應(yīng)該保留最簡(jiǎn)單本質(zhì)的東西,接著做個(gè)demo的程序先跑起來,再慢慢學(xué)入進(jìn)去.這樣一來難度也不會(huì)那么大,有時(shí)我們也需要自我陶醉一翻,有點(diǎn)成就感了,才能有動(dòng)力下去。
每個(gè)操作系統(tǒng)平臺(tái)和語言都有自己創(chuàng)建線程的辦法,可我們精力有限,不可能一個(gè)個(gè)全都知道和去學(xué),一般工作也就是掌握一兩個(gè).幸好現(xiàn)在有QT,免去平臺(tái)差異的東西。qt大概從3.x后就開始有了線程支持,到了4.x的時(shí)候更是加入了更多高級(jí)功能,比如跨線程signal/slot,線程消息循環(huán)等,這也為我們做線程通信提供了很好的環(huán)境.
在QT要使用線程的話,必須從QThread派生一個(gè)類,這是規(guī)定,哪怕你的線程做的事情簡(jiǎn)單到1+1都得這么做.。這次我們先做個(gè)簡(jiǎn)單的程序,讓一個(gè)多線程程序跑起來,其他的留到以后再說.
使用一個(gè)線程的主要的步驟如下:
1、定義一個(gè)線程類,繼承自QThread
2、重載protected Run方法
3、實(shí)例化類,用QThread 的Start方法 ,開始跑起線程,這樣最終創(chuàng)建的線程將和主線程就并發(fā)運(yùn)行了
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;
- }
小結(jié):Qt中多線程系列之線程初體驗(yàn) 上篇的內(nèi)容介紹完了,想要深入了解的話,就繼續(xù)看 淺析 Qt中多線程系列之線程控制 下篇。最后希望本篇對(duì)你有幫助。