读书人

多线程对话框以致程序死掉

发布时间: 2012-09-11 10:49:03 作者: rapoo

多线程对话框导致程序死掉
对话框是在辅助线程弹出来的,经过断点调试,确确实实是执行MessageBox.Show("kkkk",""),程序就死了。是真真正正的死(没响应),不是什么没点对话框,对话框也没看到,注释掉那句MessageBox.Show("kkkk",""),就不会死了。但偶尔又能正常运行。不知大家有没遇到这种问题。

[解决办法]
没见过你的程序,但有个法子管用,那就是用委托传到主线程去显示。另外辅助线程本身是UI线程时,这样显示肯定没问题。
[解决办法]
可能是主线程被阻塞了,主线程是不是Join了其他线程,而那个线程还未结束。
如果哪个其他线程就是这个辅助线程,那么MessageBox.Show就造成死锁了。

读书人网 >C#

热点推荐