我有一个实现 com 服务器的 Delphi7 程序。最近,由于一些新的数据库查询,程序初始化完成的时间有所增加。我所说的程序初始化的意思是程序能够以有意义的方式处理传入的 com 调用所需的时间。我的问题是当程序尚未正确初始化时如何处理来电。丢弃调用中包含的信息不是一种选择,调用需要等待程序初始化。使用布尔初始化变量的简单 while 循环是否足够?我问是因为我读到 com 调用是在主 VCL 线程中执行的,这表明 while 循环会导致程序挂起(初始化也在 VCL 线程中进行)。
互斥锁不能用于等待在同一个线程中执行的代码,对吧?
换句话说,com 调用是否会中断(com 服务器的)VCL 线程的执行,直到它完成,或者在同一线程中并发执行代码是如何工作的?感谢您抽出宝贵的时间。