用delphi的谁告诉我一下线程多了是不是不好啊?
我写的挂开了5个线程了。看样子还要加。加一个检查当前窗口的。以前用vb的时候是狂加timer。多了就卡了。线程有这个问题吗 很多检查都需要另起线程。随时检测的。而且他们中间在不同的时候会进行不同的操作相互不干扰的。似乎不能合并在一起线程里检查。可总这么开。开那么多。没问题吗? 我开了5个线程 ,个人感觉还好 线程分配是1 获得所有的内存数据 2 界面刷新显示 3 保护线程 4 攻击线程 5实时过滤线程(根据情况来觉得是否开启) 2 界面刷新显示
这个线程可以不用,
在线程调用同步就可以了!
其它打怪线程和捡物线程可以合二为一的,因为你的物品是在怪之后的 关于怪线程和捡物线程合二为一 这个问题,我目前的解决方法是 在挂机打怪中有过滤代码, 并还是开了一个线程单独进行过滤,
我个人认为 使用单独的过滤线程效率高,
好处是1;打怪掉出的物品 刚出现就过滤掉了,
2,可以在手动打怪的时候进行过滤,
3,过滤的更准确,如果在打怪的进程中使用过滤 当怪物死亡后再过滤,必需做到打落了多少个物体就要大循环多少次,要要不然如果打掉的物品中有2个相同的东东 会只过滤一个,这样会造成效率低下,
当然也有缺点 地面有物体 并自己还在打怪 造成不停的过滤 系统资源会高些(我的电脑大概会占30%左右) 线程多少,没有一定的说是好还是坏!要看你写的好不好!程序的简洁性! timer不是真正的线程,而是在主线程的消息列队中插入WM_TIMER这个消息,
sleep是使用当前线程自动放弃CPU时间片,
所以你在TTimer这个控件中写sleep的代码时如果你的界面是在主线程中,那么界面就会在你sleep的时候没有反应,
bbsyjh的代码不是假死,但是在Delay执行时CPU会占到100%,
这个最好的解决方法就是多线程+sleep来实现
页:
[1]