[急][抢分]线程问题,线程的阻塞问题,达人快进

Flysnow 2003-10-21 11:30:20
一时大脑发热,怎么也想不到好的解决方法,达人指条明路

症状分析:
  在主程序A中新建线程B,B为消息阻塞循环,现B接收一消息,需要显示主程序A一窗体C,然后继续阻塞。出现问题即新建窗体无响应,其实程序已经执行到阻塞位置,等待消息,而且仍然可以继续接收消息。
  有种方法可以解释,就是在创建B之前,创建C的所有控件,就不会产生崩溃,查过历史贴子,说到不能在线程访问其他线程的控件,想可能是这种问题,提到Invoke,但不很清楚。
...全文
34 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimmychou 2003-10-21
  • 打赏
  • 举报
回复
关注,帮你顶
Flysnow 2003-10-21
  • 打赏
  • 举报
回复
说白了,告诉我如果使用Control.Invoke去调用一个函数,使用了N种方法都不成,头都大了.. MSDN上连个例子都没...
Flysnow 2003-10-21
  • 打赏
  • 举报
回复
Flysnow 2003-10-21
  • 打赏
  • 举报
回复
这个清楚,不过对(Control.Invoke)理解不深,正在查MSDN,可能帮助不大,没有实例
zjroland 2003-10-21
  • 打赏
  • 举报
回复
按照教材,Windows GUI程序设计的一般规则是:
1) 由单个线程生成窗口,极其所有子窗口和控件。
2) 这个线程作为整个窗口结构的owner,控制窗口(和子窗口)的消息循环。
3)仅有这个线程可以直接安全的访问控件,其他线程必须通过某种线程通信机制来访问控件。(在.NET中,该主线程可以调用控件的成员方法,而其他线程必须使用Control.Invoke)。

xxdneu 2003-10-21
  • 打赏
  • 举报
回复
关注,不大清楚
Flysnow 2003-10-21
  • 打赏
  • 举报
回复
Flysnow 2003-10-21
  • 打赏
  • 举报
回复
http://www.microsoft.com/china/msdn/library/dnforms/html/winforms08162002.asp

原来微软网站上还有很多好文章

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧