版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Delphi 并行程序設(shè)計 之TTask TTask 和 TThread TTask ITask Array of ITask Task.FutureDelphi 并行程序設(shè)計 之TTaskTTask 和 TThread TThread(線程) 是單核時代的產(chǎn)物, 多個Threads 按一定次序輪流占用CPU 時間,執(zhí)行線程過程。 TTask (任務(wù)) 是多核時代的產(chǎn)物, 多個Tasks 占用各自的CPU,相對獨立運行, 所以速度上,比TThread 快。Delphi 并行程序設(shè)計 之TTaskTTask(任務(wù)對象)和 ITask(任務(wù)實例)執(zhí)行一個任務(wù)的方式一】直接運行一個任務(wù),返回值為IT
2、ask型。 TTask.Run()二】創(chuàng)建一個任務(wù)實例,需要的時候執(zhí)行。 var aTask:ITask; /聲明 aTask:=TTask.create(); /創(chuàng)建 aTask.start; /執(zhí)行 Delphi 并行程序設(shè)計 之TTaskTTask.Run()和TTask.Create(); 參數(shù)說明Run(Sender: TObject; Event: TNotifyEvent): ITask; / 參數(shù)為一個對象及事件,返回一個任務(wù)實例Run(const Func: TProc): ITask; /參數(shù)為一個過程名 或者是 一個匿名過程;返回一個任務(wù)實例 以下兩種還沒有嘗試 Run(
3、const Func: TProc; APool: TThreadPool): ITask;Run(Sender: TObject; Event: TNotifyEvent; APool: TThreadPool): ITask;Delphi 并行程序設(shè)計 之TTaskArray of ITask 任務(wù)數(shù)組,或者程任務(wù)隊列Var aTList: Array of ITask;/ 聲明數(shù)組setlength(aTlist,2);/設(shè)置長度aTList0:=TTask.Run();/執(zhí)行任務(wù)一aTList1:=TTask.Run();/執(zhí)行任務(wù)二TTask.WaitForAll(aTList);/
4、等待所有任務(wù)完成TTask.WaitForAny(aTList);/等待任一任務(wù)完成ContinueProcedure;/繼續(xù)執(zhí)行以下過程Delphi 并行程序設(shè)計 之TTaskTTask.FutureVar aFutureValue:IFuture;/聲明 變量名:IFutureaFutureValue:=TTask.Future( / 創(chuàng)建Future任務(wù) Function:string / 字符串型匿名函數(shù) begin sleep(3000); result:=hello; end); /當(dāng)且只有當(dāng) Future 任務(wù)計算完成后才會執(zhí)行以下過程,否則一直等待 Memo1.lines.ad
5、d(aFutureValue.Value);Delphi 并行程序設(shè)計 之TTaskUses 語句中需包含system.Threading;TParallel TParallel.For() TParallel.Join()TParallelTParallel.For() 【一】傳統(tǒng)forVar i,total:integerFor i:=1 to 90000 doBegin inc(total);/自加End;【二】TParallel.forVar total:integer;TParallel.for(1,90000,1,procedure(i:int64)BeginTInterLocked.Increment(total);/鎖定自加End; TParallelTParallel.Join()Join the procedures to run together.var aPL: array of TProc;/聲明一過程數(shù)組setlength(aPL,2);/ 設(shè)置數(shù)組長度aPL0:=WorkOne;/WorkOne
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度汽車租賃公司與個人短期自駕游服務(wù)協(xié)議3篇
- 二零二五年度養(yǎng)殖場勞務(wù)合同(養(yǎng)殖場環(huán)保設(shè)施建設(shè))3篇
- 2025年度跨境電商業(yè)務(wù)承包合同3篇
- 2025年度旅游套餐分期付款購買合同3篇
- 2025年度農(nóng)產(chǎn)品出口業(yè)務(wù)委托收購及代理協(xié)議3篇
- 2025年度停車場車位資源優(yōu)化配置合同3篇
- 2025年度體育俱樂部兼職教練員聘用合同書3篇
- 二零二五年度籃球球員轉(zhuǎn)會合同變更通知3篇
- 二零二五年度公司銷售業(yè)務(wù)員協(xié)議書:環(huán)保建筑材料銷售服務(wù)合同3篇
- 二零二五年度酒店前臺禮儀與客戶滿意度勞動合同3篇
- 浙江省杭州市西湖區(qū)2023-2024學(xué)年九年級上學(xué)期期末考試語文試卷+
- 兼職客服簽約合同范例
- 【初中地理】《世界的聚落》課件-2024-2025學(xué)年湘教版地理七年級上冊
- 2鍋爐爐膛內(nèi)腳手架搭設(shè)及拆除施工方案
- 注冊安全工程師管理制度
- 2023年黑龍江民族職業(yè)學(xué)院招聘工作人員筆試真題
- 以諾書-中英對照
- 卵巢黃體破裂的護理
- 供應(yīng)鏈管理師(三級)認證備考試題及答案
- 廣東高中學(xué)業(yè)水平測試考綱考點必背化學(xué)
- 2023年新高考北京卷化學(xué)高考真題(含解析)
評論
0/150
提交評論