多线程对话框导致程序死掉 对话框是在辅助线程弹出来的,经过断点调试,确确实实是执行MessageBox.Show("kkkk",""),程序就死了。是真真正正的死(没响应),不是什么没点对话框,对话框也没看到,注释掉那句MessageBox.Show("kkkk",""),就不会死了。但偶尔又能正常运行。不知大家有没遇到这种问题。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Thread.Event() 可以试试 代码比较长,贴起来不方便。辅助线程的代码:。(此处一大段){ MessageBox.Show("发送成功","")。//1}//2单步执行能到标为1的那句,按F10继续就死了,标为2的末括号到达不了。注释掉对话框就行了。 可能是主线程被阻塞了,主线程是不是Join了其他线程,而那个线程还未结束。如果哪个其他线程就是这个辅助线程,那么MessageBox.Show就造成死锁了。 我也考虑过这样,不过阻塞的现象是不一样的,程序是不死掉的,不会“没响应”,也能看到对话框。问题是我现在的是程序真死了,还看不到对话框。并且断点试过,Join没执行。这问题真太奇怪了。 问题解决了,就是封送提示信息到UI线程处理。但始终有迷惑,明明UI线程没被阻塞,原来却会卡死。 C#POST问题(Data) WPF TreeViewItem Style设置的问题 求助:错误 CS0571: “decimal.operator ++(decimal)”要如何解决? 我想把当前正在复制哪个表在窗体上动态展示出来 此功能如何实现 正则表达式,求解 关于方法返回的问题 ORACLE配置客户端??????? 关于datagrid的几个问题 下载ftp上某文件夹下所有的文件 在定义一个方法的时候如何定义方法的参数为定长数组? c#中用到的select语句,怎么能加个括号,限定一下条件。
辅助线程的代码:
。(此处一大段)
{
MessageBox.Show("发送成功","")。//1
}//2单步执行能到标为1的那句,按F10继续就死了,标为2的末括号到达不了。
注释掉对话框就行了。
如果哪个其他线程就是这个辅助线程,那么MessageBox.Show就造成死锁了。
这问题真太奇怪了。