我的想法
procedure TFrmCheck.tmr1Timer(Sender: TObject);
var
i:integer;
lsn,lzjmc,lIp :string;
begin
for i:= 0 to self.fAvailabelSn.Count -1 do
begin
lsn := self.fAvailabelSn.Strings[i];
lzjmc := self.fAvailableZjmc.Strings[i];
lIp := self.FAvailableIP.Strings[i]; //多线程处理数据
deal := dealData.Mycreate;
deal.fsn := lsn ;
deal.fip :=lIp;
deal.fzjmc := lzjmc;
deal.faddress := Gaddress;
deal.ldate := vartodatetime(Copy(FData.Rcn.appserver.getsystime,1,10)); deal.Resume ;
end;
end;思路是这样的
每隔一定时间段,向所用的门禁发处一个外理指令第一 用的是timer
第二 用的是 循环
第三,在线程中我要不断的使用三层来读取数据和更新数据问题
1. 思路是否有问题
2. 在实际运行中会有多个线程 runnable,导致程序down掉
请问如何优化
procedure TFrmCheck.tmr1Timer(Sender: TObject);
var
i:integer;
lsn,lzjmc,lIp :string;
begin
for i:= 0 to self.fAvailabelSn.Count -1 do
begin
lsn := self.fAvailabelSn.Strings[i];
lzjmc := self.fAvailableZjmc.Strings[i];
lIp := self.FAvailableIP.Strings[i]; //多线程处理数据
deal := dealData.Mycreate;
deal.fsn := lsn ;
deal.fip :=lIp;
deal.fzjmc := lzjmc;
deal.faddress := Gaddress;
deal.ldate := vartodatetime(Copy(FData.Rcn.appserver.getsystime,1,10)); deal.Resume ;
end;
end;思路是这样的
每隔一定时间段,向所用的门禁发处一个外理指令第一 用的是timer
第二 用的是 循环
第三,在线程中我要不断的使用三层来读取数据和更新数据问题
1. 思路是否有问题
2. 在实际运行中会有多个线程 runnable,导致程序down掉
请问如何优化
解决方案 »
- [200分]高分求教,控制网页游戏里flash的问题,点击按钮等操作
- 新手问题:程序死机!
- 我的软件发布“下载精灵”!DELPHI写的下载网页动画等等的程序!
- 可用分4469,晕,到哪天才能花完啊,跟就送- 花开两多
- 请推荐一些资料吧
- 帮忙UP也送分!CORBA三层开发中,如何将smart agent (osagent)绑定呢?
- WeekOfTheYear的问题
- 在DELPHI里面如何给ACTIVECONTROL重新排序。
- 如何判断上网方式?
- TChart植入C++Bulider出现类TChartListBox没有找到
- idftp如何判断ftp服务器上指定目录里的一个文件是否存在?
- 10个同样程序取表中的id,每次取10个,怎样保证每次取的id不一样
TTimer 启动线程 最好加上线程互斥对象
将对主窗品的vcl操作己由Synchronize 转为 onterminate中处理了
将对硬件端口的操作也放在 synchronize 里了
将对数据库的每一个操作也放在synchronize 里了现在问题变成了
系统非常慢了
thread creation 存储空间不足,无法处理命令