TTimer转为多线程处理的问题

ruixi 2004-06-17 10:11:07
我原来是用一个TTimer控件,50毫秒一次不停的扫描16个通讯通道,担心时间久了会出问题。想该成多线程扫描,但是不知道让线程一直运行,并且每隔50毫秒执行一次扫描,请高人指点,给个例子!
顺便再问一下,如果通道数多达120个的时候,如果用120条线程,会不会把系统整死呀?
...全文
245 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruixi 2004-06-30
  • 打赏
  • 举报
回复
ruixi 2004-06-23
  • 打赏
  • 举报
回复
up
ruixi 2004-06-22
  • 打赏
  • 举报
回复
因为我在相关的文章中,看到如下的信息:
《----------》
在Delphi中使用多线程应注意如下问题:
1、 跟踪多线程比较耗时,建议在一个单CPU计算机中,每一个进程不能超过16个线程。
2、 在多个线程更新同一个资源时,要保持线程的同步以免造成冲突。
3、 处理一个VCL线程和更新一个窗体的方法必须在主VCL线程内请求。
《——————————》

不知道是不是说一个进程超过16个线程就容易造成系统崩溃,是不是做好同步处理就可以避免?
ly_liuyang 2004-06-21
  • 打赏
  • 举报
回复
不会!
120个不算多
关键看你的线程中要处理的问题的复杂度

其实1000个都不多的
P4C可以支持到20000多个都能用

注意线程的同步处理就可以了
这可以Google上看资料的
ryuxy 2004-06-21
  • 打赏
  • 举报
回复
120,吓死人啊!
luckyboy97 2004-06-21
  • 打赏
  • 举报
回复
wwwxuebin 2004-06-21
  • 打赏
  • 举报
回复
procedure scanport;
var
....
begin
....
scanport();写你的函数
end;

procedure execuate;
begin
while true do
begin
synchronize(scanport);
sleep(50);
end;
end;

120个现程???!!!,如果不写内存保护,不死才怪,一个就行啦
ruixi 2004-06-21
  • 打赏
  • 举报
回复
Up
ruixi 2004-06-18
  • 打赏
  • 举报
回复
顶!

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧