紧急求助,有个线程知识清楚(50分)

  • 主题发起人 主题发起人 泥瓦匠
  • 开始时间 开始时间

泥瓦匠

Unregistered / Unconfirmed
GUEST, unregistred user!
难道线程中的自定义方法执行时达不到多线程的效果?
必须得把代码写到Execute方法中,才能达到多线程的效果么?
如果是直接调用线程的对象的某个方法,不能达到多线程效果?
 
这是在TThread的实现中的ThreadProc里的代码,ThreadProc是调用CreateThread时指向的过程。
ThreadProc里的代码很简单:
try
if not Thread.Terminated then
try
Thread.Execute;
except
Thread.FFatalException := AcquireExceptionObject;
end;
finally
后面都是出错处理。
他指名道姓的执行Execute,也就是说只有Execute方法里的部分被异步执行。
 
其实,Execute就像c中的main函数,如果一段代码没有被main函数直接或间接的调用,就永远不会被执行。
 
那么就是说,我直接调用线程的自定义方法,是和调用非线程对象的方法起到一样的效果
只有通过用线程本身的Execute方法调用,才能达到多线程效果?
 
那么我要是
在EXECUTE里进行休眠处理,等于整个线程被停止执行。
当有新的消息过来时,叫起线程,但执行的不是EXECUTE里的代码。
这样能达到多线程的效果么
 
楼行两位: 一唱一和 :)
 
呵呵,是夫唱妇随。
 
我考,啥时变玻璃啦?[^]
 
50分啊,这么多,大家分啊
 
天啊,各位,我的问题还没继续解答完呢啊
 
呵呵,自己弄例子搞明白了
 
接受答案了.
 
后退
顶部