Delphi XE10 RTL - PPL - TTask
2021-01-05 15:28
标签:strong 调用 示例 reading 合并行 run方法 创建时间 star tostring Delphi XE10 RTL - PPL - TTask 并行编程库(PPL --Parallel Programming Library) ,让您的应用程序可以在跨平台应用中有效的使用多个CPU并行运行任务的能力。 TTask(并行运行多个任务) 说明: Delphi 示例: 创建时间:2020.06.23 更新时间: Delphi XE10 RTL - PPL - TTask 标签:strong 调用 示例 reading 合并行 run方法 创建时间 star tostring 原文地址:https://www.cnblogs.com/guorongtao/p/13181869.html
// 主线程管理任务队列,并从线程池中分配线程来完成任务。该线程池具有多少线程数,取决于设备可用CPU数量。uses
System.Threading; // 需要引用PPL库
//定义两个执行过程:
procedure NoTask; // 不使用任务的情况
procedure ApplyTask; // 使用任务的情况
procedure TForm1.ApplyTask;
var
lValue: Integer;
begin
Label1.Text := ‘使用Task:--‘;
TTask.Run(
procedure
begin
Sleep(2000); { 暂停一段时间,模拟需要计算的处理时间 }
lValue := Random(100);
TThread.Synchronize(nil,
procedure
begin
Label1.Text := ‘使用Task:‘ + lValue.ToString;
end);
end);
end;
procedure TForm1.NoTask;
var
lValue: Integer;
begin
Label1.Text := ‘未用Task--‘;
{ 暂停一段时间,模拟需要计算的处理时间 }
Sleep(3000);
lValue := Random(100);
Label1.Text := ‘未用Task:‘ + lValue.ToString;
end;
//创建按钮事件,当CheckBox1选中时执行任务,未选择时使用常用方式执行。
procedure TForm1.Button1Click(Sender: TObject);
begin
if CheckBox1.IsChecked then
ApplyTask
else
NoTask;
end;
下一篇:C# 转义符
文章标题:Delphi XE10 RTL - PPL - TTask
文章链接:http://soscw.com/index.php/essay/40294.html