線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1159
推到 Plurk!
推到 Facebook!

求教 XE7 parallel programming library使用範例

答題得分者是:aftcast
blue
中階會員


發表:115
回覆:106
積分:59
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-02-02 16:54:20 IP:122.146.xxx.xxx 訂閱
Hi,各位先進大家好:
請問各位先進是否使用過 XE7的 parallel programming library?
小弟有以下問題請教:
1.TTask是否有辦法控制其暫停,結束...等像Thread一樣?
2.看範例TTask都是丟 procedure 進去到 TThreadPool, 看了 TThreadPool 也可丟 TObject 進去,但,如何控制其處理及取得結果?小弟是想應用 TThreadPool 處理一大堆Jab(但一次只處理幾項,等處理完後再處理另一批)
以上,謝謝!
aftcast
站務副站長


發表:81
回覆:1482
積分:1762
註冊:2002-11-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2015-02-06 18:14:05 IP:36.229.xxx.xxx 訂閱
建議服用  System.Threading.IFuture

得到 future 物件後,使用它的 value 可以得到 回傳值。但前提是要事情處理好後才會得到 "完整的" value。
以你的情形,理當要用 future 的 wait 方法。它會 卡住,當不跑出 wait 方法的時候,表示 1 做完了 2 或是超時了。詳看 文件。

於是你wait 後,使用 value,取值。 接著又再起另一 組 future…

網路上delphi這方面的資訊很少,目前看到的好像主要的有:
http://delphiaball.co.uk/tag/parallel-programming/

但講的很簡單。

我的概念與理解 ( 對 thread pool,future等 ) 都是來自 java 程式。因為 該死的 delphi的這些東西對 c builder 極不友善,不爽用。 以上這段話是我的情緒不爽之言。請無視之! 馬的! 想到就不爽!


===================引 用 blue 文 章===================
Hi,各位先進大家好:
請問各位先進是否使用過 XE7的 parallel programming library?
小弟有以下問題請教:
1.TTask是否有辦法控制其暫停,結束...等像Thread一樣?
2.看範例TTask都是丟 procedure 進去到 TThreadPool, 看了 TThreadPool 也可丟 TObject 進去,但,如何控制其處理及取得結果?小弟是想應用 TThreadPool 處理一大堆Jab(但一次只處理幾項,等處理完後再處理另一批)
以上,謝謝!
------



蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
pcplayer99
尊榮會員


發表:142
回覆:740
積分:591
註冊:2003-01-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2015-02-14 11:12:30 IP:183.239.xxx.xxx 訂閱
没看明白你的需求。

我自己测试 Delphi 的新的并行执行功能,我是拿图片处理来测试的。

图片处理,通常是跑 Loop,一行一行地处理。对每一行,也是跑一个 Loop,逐点处理。

如果采用并行,我就可以很多行同时跑。

实际测试结果,确实做到了。



系統時間:2017-12-14 22:54:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!