看流星社区

 找回密码
 注册账号
查看: 2936|回复: 6

[Delphi] 用delphi的谁告诉我一下线程多了是不是不好啊?

[复制链接]

该用户从未签到

发表于 2011-3-29 09:36:12 | 显示全部楼层 |阅读模式
我写的挂开了5个线程了。看样子还要加。
加一个检查当前窗口的。以前用vb的时候是狂加timer。多了就卡了。线程有这个问题吗

该用户从未签到

 楼主| 发表于 2011-3-29 09:36:53 | 显示全部楼层
很多检查都需要另起线程。随时检测的。而且他们中间在不同的时候会进行不同的操作相互不干扰的。似乎不能合并在一起线程里检查。可总这么开。开那么多。没问题吗?

该用户从未签到

发表于 2011-3-29 09:37:12 | 显示全部楼层
我开了5个线程 ,个人感觉还好 线程分配是1 获得所有的内存数据 2 界面刷新显示 3 保护线程 4 攻击线程 5实时过滤线程(根据情况来觉得是否开启)

该用户从未签到

发表于 2011-3-29 09:37:42 | 显示全部楼层
2 界面刷新显示  

这个线程可以不用,

在线程调用同步就可以了!

其它打怪线程和捡物线程可以合二为一的,因为你的物品是在怪之后的

该用户从未签到

发表于 2011-3-29 09:39:01 | 显示全部楼层
关于怪线程和捡物线程合二为一 这个问题,我目前的解决方法是 在挂机打怪中有过滤代码, 并还是开了一个线程单独进行过滤,
我个人认为 使用单独的过滤线程效率高,
好处是1;打怪掉出的物品 刚出现就过滤掉了,  
            2,可以在手动打怪的时候进行过滤,
            3,过滤的更准确,如果在打怪的进程中使用过滤 当怪物死亡后再过滤,必需做到打落了多少个物体就要大循环多少次,要要不然如  果打掉的物品中有2个相同的东东 会只过滤一个,这样会造成效率低下,
当然也有缺点 地面有物体 并自己还在打怪 造成不停的过滤 系统资源会高些(我的电脑大概会占30%左右)

该用户从未签到

发表于 2011-3-29 09:39:21 | 显示全部楼层
线程多少,没有一定的说是好还是坏!要看你写的好不好!程序的简洁性!

该用户从未签到

发表于 2011-3-29 09:40:40 | 显示全部楼层
timer不是真正的线程,而是在主线程的消息列队中插入WM_TIMER这个消息,
sleep是使用当前线程自动放弃CPU时间片,
所以你在TTimer这个控件中写sleep的代码时如果你的界面是在主线程中,那么界面就会在你sleep的时候没有反应,
bbsyjh的代码不是假死,但是在Delay执行时CPU会占到100%,
这个最好的解决方法就是多线程+sleep来实现
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-19 02:59

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表