送分的菜鸟问题:关于系统创建线程(100分)

  • 主题发起人 主题发起人 toxing
  • 开始时间 开始时间
T

toxing

Unregistered / Unconfirmed
GUEST, unregistred user!
在我的程序中有一个timer组件,一个ServerSocket组件(stNonBlocking型),
请问这两个组件是和主程序在同一线程的吗?我用线程窗口只看到两个线程,其中
一个还是init线程(这是干嘛的?)。那两个组件好像是在同一线程的。delphi是怎么
同步这两个过程的,它们自己都有一个外部事件触发的机制啊?难道是由主进程接收消息?
另外,有哪些组件会自动创建线程啊?
 
这个问题和coBright提的问题很类似,但我觉得几位大虾的回答不够深入,
希望大家对这个问题继续解释一下。
 
非也!!据我所知clientsocket也有,关于同步,好像delphi是采用挂起一个线程的方法同步的,具体不明。对不起。
 
有一点可以肯定:这两个组件的事件处理过程都是在主线程里的。至于主线是如何知道何时应该调用
它们的事件,也没有什么问题:是Windows发送给主线程的消息。以Timer控件为例,在VC中是通过在
系统中注册一个Timer,使得程序可以定时收到Windows的WM_Timer消息,进而调用相应的处理过程,
我想在Delphi中原理也是一样的。相应的,Socket也有一些消息: WM_SOCKET_????。
因此,由主线程接收并处理消息是没有什么疑问的。
 
接受答案了.
 
后退
顶部