中国开发网: 论坛: 程序员情感CBD: 贴子 628585
王中王: VCL的线程同步(Synchronize)有个潜在的死锁陷阱
Synchronize的实现,是提交任务后,WaitFor主线程对提交的任务处理完成,再继续执行,而且是死等到底那种(没超时机制)。
如果线程在等待的时候,主线程没来得及处理线程任务之前,有主线程对该线程的WaitFor操作,并且也没有超时机制的话,就会形成死锁。
你的程序问题也许在:
1、线程提交任务并进行WaitFor操作
2、刚好主进程有输入法切换操作。不知是输入法的原因还是特殊控件的原因,触发了对其它线程的通知操作,并WaitFor线程处理并返回
3、死锁。。。。

上述是我猜的,如有雷同存属巧合
如果感兴趣的话,建议看一下控件在有输入法变化时,做了什么操作。
http://wangzw.wordpress.com/
个性化台历、日历制作
http://shop33697570.taobao.com/

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录