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来弄吧.
方便控制一些
公司介绍成都随风云科技有限公司成立于2021年,是国内领先的互联网业务平台服务提供商。公司专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前公司研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的国内BGP、双线高防、香港等优质的IDC资源。公司一直秉承”以人为本、客户为尊、永续创新&...
俄罗斯vps速度怎么样?俄罗斯vps云主机节点是欧洲十大节点之一,地处俄罗斯首都莫斯科,网络带宽辐射周边欧洲大陆,10G专线连通德国法兰克福、法国巴黎、意大利米兰等,向外连接全球。俄罗斯vps云主机速度快吗、延迟多少?由于俄罗斯数据中心出口带宽充足,俄罗斯vps云主机到全球各地的延迟、速度相对来说都不错。今天,云服务器网(yuntue.com)小编介绍一下俄罗斯vps速度及俄罗斯vps主机推荐!俄...
搬瓦工最近上线了一个新的荷兰机房,荷兰 EUNL_9 机房,这个 9 的编号感觉也挺随性的,之前的荷兰机房编号是 EUNL_3。这次荷兰新机房 EUNL_9 采用联通 AS9929 高端路线,三网都接入了 AS9929,对于联通用户来说是个好消息,又多了一个选择。对于其他用户可能还是 CN2 GIA 机房更合适一些。其实对于联通用户,这个荷兰机房也是比较远的,相比之下日本软银 JPOS_1 机房可...
delphi多线程为你推荐
素数算法(c语言)求快速算素数的方法。手机软件开发工具如何自己开发一个app软件在线直播系统网络视频直播系统的简介微信网页版登陆首页微信网页版怎么用?微信网页版怎么登陆?sms是什么什么是SMS协议怎么查微信注册时间怎么知道微信上次登录时间particular教程如何用AE做出花瓣从身体变出来的特效flushesno-show rate是什么西安娱乐西安最高端会所是哪一家flv转avi为什么将flv格式转换成avi格式就不太清楚啦
域名服务商 域名城 免费cn域名注册 域名空间购买 韩国vps俄罗斯美女 国外免费vps 双线vps 免费域名跳转 cn域名个人注册 免费cn域名 注册cn域名 burstnet 香港服务器99idc 42u机柜尺寸 174.127.195.202 parseerror 青果网 炎黄盛世 gspeed 服务器干什么用的 更多