淺析 Qt中多線程系列之線程初體驗 上篇
本文介紹的是Qt中多線程系列之線程初體驗,比較清淺的一些知識,如果你對多線程感興趣的話,請繼續參考 淺析 Qt中多線程系列之線程控制 下篇,你肯定有興趣。先來看本篇內容。
我總覺得學一個東西時候,我們應該保留最簡單本質的東西,接著做個demo的程序先跑起來,再慢慢學入進去.這樣一來難度也不會那么大,有時我們也需要自我陶醉一翻,有點成就感了,才能有動力下去。
每個操作系統平臺和語言都有自己創建線程的辦法,可我們精力有限,不可能一個個全都知道和去學,一般工作也就是掌握一兩個.幸好現在有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;
- }
小結:Qt中多線程系列之線程初體驗 上篇的內容介紹完了,想要深入了解的話,就繼續看 淺析 Qt中多線程系列之線程控制 下篇。最后希望本篇對你有幫助。