请教一个线程退出的问题
小弟的是WINForm程序,程序中由于要不断地扫描数据库故使用了多线程,工作线程中需要访问UI界面,现在的问题是如果使用Thread的Abort方法退出子线程的话,就没问题,但是听说不推荐使用此方法,故改为使用开关变量控制子线程结果抛出异常,原因是否是主线程退出后,子线程仍然访问主线程的控件?调用线程的JOIN方法后异常消失,但程序就定格在那里了,像死机一样,请问此种问题如何解决,难道除了Abort方法就别无它法了吗?谢谢! --------------------编程问答-------------------- 主线程要等待子线程关闭后才关闭,虽然用了开关,但是你的主线程没有等待子线程完全关闭,子线程在关闭的时候要向主线程发一个信号说明自己已经完整关闭 --------------------编程问答-------------------- 把所有线程设置成后台线程 --------------------编程问答-------------------- magicsnake(北极狐) 所言极是 --------------------编程问答-------------------- 所言极使, 高手请见这里:
http://community.csdn.net/Expert/topic/5356/5357000.xml?temp=.2164881 --------------------编程问答-------------------- to magicsnake(北极狐)
老大怎样发送消息啊?我不懂C++
TO YAOHE(吆喝)
老大主线程也可以设为工作线程?我需要不断刷新UI界面以便显示最新效果
--------------------编程问答-------------------- 以前的一些帖子,你看看理解一下
http://community.csdn.net/Expert/topic/5126/5126093.xml?temp=.2756616
http://community.csdn.net/Expert/topic/5172/5172738.xml?temp=.312649
http://community.csdn.net/Expert/topic/5193/5193258.xml?temp=.2399561 --------------------编程问答-------------------- magicsnake(北极狐) 大哥麻烦您再帮帮我
将子线程的开关变量设为失效后
调用子线程的JOIN方法让主线程等待子线程完全终止,问题是在子线程中访问UI界面控件( this.Invoke(new UpdateListView(UpdateListViewData),new object[]{lvi}); )使用的是同步委托,是否导致一个死锁?即主线程暂停等待子线程,子线程同步调用主线程遇到主线程暂停
子线程也暂停?这种情况该如何是好?
--------------------编程问答-------------------- 可能是年前最后一个问题,up自己一下 --------------------编程问答-------------------- 子线程函数()
{
while(true)
{
等待主线程的信号();// 具体你可以查一下MSDN关于WaitOne()的使用
if(判断是否终止线程)
{
// 确定终止,跳出循环
return;
}
// 不终止
执行界面交互函数();// 这里一般是一个委托
}
}
--------------------编程问答-------------------- 用条件自然终止...
--------------------编程问答-------------------- 路过 --------------------编程问答-------------------- up
补充:.NET技术 , C#