haitao:
【Delphi技术贴.2个事件响应函数在并发被触发时,如果执行它们的函数体的呢?】不使用多线程编程,直接利用TserverSocket的事件,能否较好地实现多客户端同时连接时的并发……
[阅读: 1316] 2006-06-02 01:40:23
【Delphi技术贴.2个事件响应函数在并发被触发时,如果执行它们的函数体的呢?】不使用多线程编程,直接利用TserverSocket的事件,能否较好地实现多客户端同时连接时的并发响应?
当已经在处理一个客户端的事件响应函数时,如果在函数里使用Application.ProcessMessages,新的事件是有机会被响应的,但是具体的执行好像就有问题。
事件1响应函数A:
{
doa1;
Application.ProcessMessages;
doa2;
Application.ProcessMessages;
doa3;
}
事件2响应函数B:
{
dob1;
Application.ProcessMessages;
dob2;
Application.ProcessMessages;
dob3;
}
假设按时间顺序有如下的事情:
>事件1被触发
<执行函数A
<doa1
<Application.ProcessMessages; 同时>事件2被触发
<执行函数B(这个好像是得到了试验证实的)
此时到底该执行doa2还是dob1?
。。。
A、B的函数体到底是怎么执行的呢?交互执行?