From C++ Builder to Qt > From TThread to QThread |
|
happosai
高階會員 發表:93 回覆:228 積分:109 註冊:2002-09-15 發送簡訊給我 |
http://goodspeedlee.blogspot.tw/2016/01/from-c-builder-to-qt-from-tthread-to.html
小弟已經轉換到 Qt 好一陣子了,這裡有篇心得給大家參考看看~ |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
jcjroc
高階會員 發表:21 回覆:279 積分:115 註冊:2002-09-18 發送簡訊給我 |
|
happosai
高階會員 發表:93 回覆:228 積分:109 註冊:2002-09-15 發送簡訊給我 |
|
jcjroc
高階會員 發表:21 回覆:279 積分:115 註冊:2002-09-18 發送簡訊給我 |
也沒那麼麻煩吧!!!
引用外部 framwork 在開發工具升級時,常會有無法相容的問題. TThread or QThread 只是封裝了thread 並附加實現一些簡易同步機制. 但這些如果用SDK做,程式碼也不困難. 不過以Qt在同步機制的作法,個人是覺得太過於複雜 ===================引 用 happosai 文 章=================== 是不難,麻煩的是跟 VCL 互動,Qt 也有同樣的問題,這篇文章主要是講兩者對於這個問題處理方式的差異。 |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
jcjroc
高階會員 發表:21 回覆:279 積分:115 註冊:2002-09-18 發送簡訊給我 |
1. 沒辦法就本文上傳附件(一個不負責任的範例)http://delphi.ktop.com.tw/board.php?cid=31&fid=130&tid=108764
2.簡單的說,需要兩個Queu,一個給Thread 收取其他Thread交付要處理的資料(ThreadQueu),一個給Form 用(FormQueu) 3.Thread 會等待一個Event,當推入資料給ThreadQueu後,設定該Event以通知Thread 有新資料要處理 4.至於Thread要送給Form的,當資料推入給FormQueu後,使用PostMessage發出一個自訂訊息給Form以通知有資料要處理 基本原則: 所有Queu的資料存取皆要用同步化物件進行保護(如CriticalSection) 個人經驗: 以目前TThread 所提供的功能,說實在沒有啥存在的必要,但如果要寫一個不負責任的程式且懶蟲發威不想敲鍵盤時就會拿來用 最後的建議.........不要在Thread中使用VCL ===================引 用 taishyang 文 章=================== 還有人願意來這分享實屬不易 如果有實例來論述[沒那麼難] [沒那麼麻煩]來造福後進就更棒了~~
編輯記錄
jcjroc 重新編輯於 2016-01-22 16:27:29, 註解 無‧
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
happosai
高階會員 發表:93 回覆:228 積分:109 註冊:2002-09-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |