DELPHI XE7 新的并行库

DELPHI XE7 的新功能列表里面增加了并行库System.Threading, System.SyncObjs。

为什么要增加新的并行库?

还是为了跨平台。以前要并行编程只能从TThread类继承进行多线程处理,大家知道TThread类是从WINDOWS的线程API封装起来的,它封装的是WINDOWS的多线程的东西,是不能脱离WINDOWS的,当然是不能跨平台的。DELPHI现在走的是原生跨平台的道路,一切DELPHI的基础类库都要从只支持WINDOWS改为支持多平台,这是一个庞大而缓慢的工程,近年,大家都看到了易博龙在这方面的努力,在跨平台方面DELPHI已经做出了许多令人惊喜的改进,DELPHI已经不仅仅同WINDOWS捆绑在一起的开发工具。

连同DELPHI新版本提供的一些新语法:泛型,匿名函数。。。。。。

下面是官方的演示代码:

千记:uses System.Threading, System.SyncObjs;

procedure TForm1.Button1Click(Sender: TObject);
var
tasks: array of ITask;
value: Integer;
begin
value := 0;
tasks := [
TTask.Create(procedure
begin
sleep(1000);
TInterlocked.Add(value, 1000);
end).Start,

TTask.Create(procedure
begin
sleep(1000);
TInterlocked.Add(value, 3000);
end).Start,

TTask.Create(procedure
begin
sleep(1000);
TInterlocked.Add(value, 5000);
end).Start
];

TTask.WaitForAll(tasks);
ShowMessage(‘All done: ‘ + value.ToString);
end;

同原来的TTread相比,谁优谁劣?

前面说了新的并行库只是为了跨平台,如果只基于WINDOWS编程,仍然可以使用TTread类,执行效率,留待诸位实测了。

http://www.cnblogs.com/hnxxcxg/p/4109990.html

时间: 2024-12-24 16:41:56

DELPHI XE7 新的并行库的相关文章

Delphi XE7中新并行库

Delphi XE7中增加了新的并行库,和.NET的Task和Parellel相似度99%. 具体内容可以看下面的文章: http://www.delphifeeds.com/go/s/119574 如果你熟悉.NET,这个功能并没有大的新意,可对Delphi程序员来说却非常实用.之前要实现多线程,唯一的办法是使用TThread类,而且过程十分繁琐.新的并行库彻底简化了这个过程. 估计下一步就该实现Async和Await异步执行结构了 另外最近Delphi的排名竟然有所上升并且进了前十,对还在用

Delphi xe7并行编程快速入门(转)

http://blog.csdn.net/henreash/article/details/41315183 现在多数设备.计算机都有多个CPU单元,即使是手机也是多核的.但要在开发中使用多核的优势,却需要一些技巧,花费时间编写额外的代码.好了,现在可以使用Delphi做并行编程了. 在Delphi.C++ Builder和RAD Studio XE7中,有一个简化并行运行任务的库,叫做并行编程库. 并行编程库在System.Threading单元中,其中提供了很多有用的特性,可方便的应用在已有

[转载]:Delphi xe7并行编程快速入门

现在多数设备.计算机都有多个CPU单元,即使是手机也是多核的.但要在开发中使用多核的优势,却需要一些技巧,花费时间编写额外的代码.好了,现在可以使用Delphi做并行编程了. 在Delphi.C++ Builder和RAD Studio XE7中,有一个简化并行运行任务的库,叫做并行编程库. 并行编程库在System.Threading单元中,其中提供了很多有用的特性,可方便的应用在已有项目和新项目中.提供了大量便利的重载函数,可同时支持C++和Object Pascal. 这些特性包括易用的针

Delphi xe7并行编程快速入门(三篇)

现在多数设备.计算机都有多个CPU单元,即使是手机也是多核的.但要在开发中使用多核的优势,却需要一些技巧,花费时间编写额外的代码.好了,现在可以使用Delphi做并行编程了. 在Delphi.C++ Builder和RAD Studio XE7中,有一个简化并行运行任务的库,叫做并行编程库. 并行编程库在System.Threading单元中,其中提供了很多有用的特性,可方便的应用在已有项目和新项目中.提供了大量便利的重载函数,可同时支持C++和Object Pascal. 这些特性包括易用的针

关于delphi XE7中的动态数组和并行编程(第一部分)

本文引自:http://www.danieleteti.it/category/embarcadero/delphi-xe7-embarcadero/ 并行编程库是delphi XE7中引进的最受期待的功能之一.下面是一个简单的并行编程例子:   procedure TFormThreading.Button1Click(Sender: TObject); var   tasks: array of ITask;   value: Integer; begin   value := 0;   t

Delphi并行库System.Threading 之ITask 1

不知什么时候,也许是XE8,也许是XE8之前 .Delphi里面多了个System.Threading的并行库. 虽然己经有非常棒的第三方并行库QWorker,但我还是更喜欢官方的东西. 下面是一段使用System.Threading中ITask的代码 procedure TForm3.SpeedButton1Click(Sender: TObject); var tasks: array of ITask; value: Integer; LTask:ITask; X,Y:INTEGER; b

Delphi XE7 GPS控件android下的新变化

Delphi XE7 GPS控件的Android新变化 GPS控件的Accuracy可以起作用了,Accuracy>0时:      1--100:ACCURACY_HIGH  101--500:ACCURACY_MEDIUM  其它值时:ACCURACY_LOW Accuracy=0时根据以下方式进行定位:1.GPS_PROVIDER2.NETWORK_PROVIDER3.PASSIVE_PROVIDER Delphi XE7以前版本GPS控件优先使用网络定位,而XE7是根据Accuracy来

Delphi XE7 安装

delphi xe7是一款跨平台的应用程序开发工具,它能快速开发Windows.Mac.iOS.Android和各种电子产品的平台的应用程序, 新版xe7使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language),通过全新的控件和样式使您的Windows应用变得现代化,具有简单.高效.功能强大的特点. 在移动端方面,delphi xe7提供mobile apps的连结功能,可以支援

delphi xe7操作sqlite数据库

准备工作: 1.用SQLiteExpertPers建立一个sqlite数据库. 2.打开delphi xe7. 一.FireDAC法 设置库联接 1.放入FDConnection1控件 2.点击“FDConnection1.Params” 3.在“FDConnection1.Params”中写入 DriverID=SQLite Database=C:\Users\zhujianqiang\Desktop\sqlite\sqlite.db  //你的sqlite数据库路径 4.点“确定” 5.设置