线程问题: Execute 与 线程的fuction()(50分)

  • 主题发起人 主题发起人 lshren
  • 开始时间 开始时间
L

lshren

Unregistered / Unconfirmed
GUEST, unregistred user!
当我把程序处理的功能置于一个线程的 Execute 过程中, 线程的Priority := tpIdle;,这
时我的程序运行很正常(程序启动后,其他资源使用正常,程序其他操作也很自如),但当
我的在线程中要完成三种操作时,我希望在线程中创建三个function,每个function完成一种
操作,进行每种操作时,先create线程,再执行相应的function. 这样做后,只要进行一种
操作,就占用了程序的所有资源,虽然其他程序可以执行,但本程序内的其他操作都不能
进行,连程序都不能关闭。此问题如何解决?
 
你可以设计一个类,该类包括三种function,这些function可以创建
共有的那个线程类,并执行Execute中的操作。不知道你是否是这样做的。
 
to tanglu:
如你所说,我正是那样做的,但我要进行三种操作,而三种操作没有置于execute中,是
置于"该线程"的三个function 中,因为将三种操作都置于execute中,使得这个过程中的代
码太长(上千行),不利于维护。我的问题是,置于该线程的三个方法中为什么会有那样的
问题(如第一个帖子)?
 
进入Execute线程才算开始;
退出Execute线程就结束了。

 
每个function一个线程,应该行.
 
to All:
请大家继续参加讨论,抓住问题的本质
 
to All:
在线程的Priority := tpIdle; 时,线程的Execute 和线程的function()在资源占用方面
为什么不同?function 几乎占用了所有资源, 而Execute则不会。为什么?如何才能使
funcion 和 Execute 在资源(cpu处理)占用方面一样?
 
wen ti yi shan chu
 
接受答案了.
 
后退
顶部