delphi多线程delphi能否以多线程的方式调用一个过程
delphi多线程 时间:2021-06-24 阅读:(
)
delphi 多线程,求帮忙
多线程不好弄的,现在也没有什么意义了,CPU那么高的速度,386时代弄一弄还有意义,现在是四核时代了,一个软件放些多线程,没有啥意义的,我感觉就是一段代码写上二千行,执行起来也没有停顿感.和DLL一样,多线程应该被抛弃了.我一段二千多行的代码,全是从一篇三千字的文章中截取字符,并赋值给不同的编辑框的,随着按钮的按下,要的东西就马上出来了.完全没有停顿的感觉.原先想这段代码这长弄一线程来执行它吧,结果没有什么意义.不过学习的话,又另当别论.反正这东西不好弄,加了多线程的代码看起来就如同天书.Delphi多线程怎么处理?
这种问题必须要应用多线程处理,关于你本身的问题你可以用线程池来处理,这个开销比新创建线程要小一些,须要你本身写一个线程池处收成重点是可以快速取到余暇线程),3 解算后的数据发出,当时光包含在2中的最大年夜耗不时光内1 接收事宜触发接收过程,进行数据预处理我不知道你的预处理是否是必须的,并且必须是在线程处理之前完成,我认为接收事宜触发接收过程,收到数据立时放入主线程(也就是我说的线程池治理线程),之后你的过程持续等待下一波数据,而子线程开端处理数据。
2 数据预处理后,发出自定义事宜或者消息触发数据解算线程,解算最大年夜耗时200-250ms,最小100ms没须要定义什么自定义消息,你可以在主线程中,等待子线程完成计算,然后做最后的处理。
计算后的数据须要发出? 那一样的事理,按照次序发出即可。
打字不易,如满意,望采纳。
DELPHI怎么实现多线程? 在线等
unit bncthrd;
interface
uses
winprocs,classes,graphics,extctrls;
type
tbouncethread=class(tthread)
private
fshape:tshape;
fxspeed:integer;
fyspeed:integer;
procedure moveshape;
protected
procedure execute;override;
public
constructor create(suspended:boolean;shape:tshape;xspeed,yspeed:integer);
propertyshape:tshapereadfshape;
end;
implementation
procedure tbouad.moveshape;
var
maxheight,maxwidth:integer;
begin
with fshape do
begin
left:=left+fxspeed;
:+fyspeed;
if(left=0) or(left+width=parent.width)then
fxspeed:=fxspeed*-1;
=0)=height+parent.height)then
fyspeed:=fyspeed*-1;
end;
end;
procedure tbouncethread.execute;
begin
while not terminated do
begin
synchronize(moveshape);
end;
end;
constructor tbouncethread.create(suspended:boolean;shape:tshape;
xspeed,yspeed:integer);
begin
inherited create(suspended);
fshape:=shape;
fxspeed:=xspeed;{x轴走向的速度}
fyspeed:=yspeed;{y轴走向的速度}
freeonterminate:=true;
end;
end.
执行时我们可以新建一个程序,然后在uses部分加入以上的bncthrd单元,再在它的窗体form1上加入两个shape控件shape1和shape2,shape1可以是一个矩形而shape2
是一个圆。
加入以下的代码就可以让矩形和圆动起来。
unit Unit1;
interface
uses
bncthrd,Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
Shape1: TShape;
Shape2: TShape;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
tbouncethread.create(false,shape1,1,2);
tbouncethread.create(false,shape2,2,3);
end;
end.delphi能否以多线程的方式调用一个过程
createThread(nil,0,@showImage(,number),nil,0,ID);
第三个参数应该是函数指针 也就是,@showImage
第四个参数是这个函数所要用的参数的指针,所以你这里最好定义成一个结构体.
调用同一个过程是可以的,但是如果你这个过程对界面进行了操作的,那么就需要同步.
如果你对windows底层比较了解,可以这个样用.
不然还是继承Delphi的TThread来弄吧.
方便控制一些
腾讯云轻量应用服务器又要免费升级配置了,之前已经免费升级过一次了(腾讯云轻量应用服务器套餐配置升级 轻量老用户专享免费升配!),这次在上次的基础上再次升级。也许这就是良心云吧,名不虚传。腾讯云怎么样?腾讯云好不好。腾讯云轻量应用服务器 Lighthouse 是一种易于使用和管理、适合承载轻量级业务负载的云服务器,能帮助个人和企业在云端快速构建网站、博客、电商、论坛等各类应用以及开发测试环境,并提供...
目前在标准互联这边有两台香港云服务器产品,这不看到有通知到期提醒才关注到。平时我还是很少去登录这个服务商的,这个服务商最近一年的促销信息比较少,这个和他们的运营策略有关系。已经从开始的倾向低价和个人用户云服务器市场,开始转型到中高端个人和企业用户的独立服务器。在这篇文章中,有看到标准互联有推出襄阳电信高防服务器100GB防御。有三款促销方案我们有需要可以看看。我们看看几款方案配置。型号内存硬盘IP...
buyvm正式对外开卖第四个数据中心“迈阿密”的块存储服务,和前面拉斯维加斯、纽约、卢森堡一样,依旧是每256G硬盘仅需1.25美元/月,最大支持10T硬盘。配合buyvm自己的VPS,1Gbps带宽、不限流量,在vps上挂载块存储之后就可以用来做数据备份、文件下载、刷BT等一系列工作。官方网站:https://buyvm.net支持信用卡、PayPal、支付宝付款,支付宝付款用的是加元汇率,貌似...
delphi多线程为你推荐
订房系统酒店PMS系统具体是什么英文名网站介绍几个好的英语学习网站旺旺群发软件旺旺群发软件哪个比较好怎么用电脑发短信怎样用电脑给别人的手机发短信?无处不在的意思心无所住是什么意思刷ip流量如何刷自己网站的IP流量在线直播系统网络视频直播系统的简介云家政网腾讯网的网址是多少?validdate怎样解决oracle报错is not a valid date and timeaviconverter哪款AVI转换器好用?推荐一下
yuming stablehost kddi shopex空间 香港新世界电讯 debian6 国外php空间 最好的空间 小米数据库 申请个人网站 电子邮件服务器 双11秒杀 泉州移动 cn3 空间租赁 shuang12 湖南idc 贵阳电信测速 香港ip 512内存 更多