作者legnaleurc (CA)
看板C_and_CPP
標題Re: [問題] Qt thread
時間Wed Jun 22 00:59:39 2011
※ 引述《tata111 (aa)》之銘言:
: 看了這篇還是不太懂實際上要怎麼做
: 原始例子,沒有使用thread需等一個動作執行完才能執行下一個
: 兩個button各會print 1到10000
: 希望可以按下A後馬上按B,然後看見A和B的訊息交錯出現
: http://codepad.org/ud00zmZu
: http://codepad.org/aDutgyMF
: http://codepad.org/VqfeRUi1
: 目前的想法
: http://codepad.org/Q1iIhufB (同下面等號後的文字)
: 希望可以有人給建議,對Qt還沒有很熟
: 有時候程式有錯誤時會搞不清楚到底是這樣不可行
: 還是只是自己沒寫好
: 所以想先請教一下整體的概念
: 謝謝
https://gist.github.com/1038309
像這種很明確有一個 task 要做的 thread
用 QRunnable 會比較輕鬆
好處是同樣一個 QRunnable 實體可以被 QThreadPool 執行多次
但 QThread 跑到底就不能再拿來開另一條 thread 了, 必須要
再另外建一個 QThread 實體
簡單的說, QThread 適合拿來跑 daemon
QRunnable 適合拿來跑 task
QtConcurrent 則多數是用來平行運算(map-reduce)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 175.96.118.147
→ legnaleurc:更正一下, QThread 主要的應用場合是強制讓某個 06/22 01:04
→ legnaleurc:QObject 跑在另一條 thread 上 06/22 01:04