注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

珠海渔郎之电子网档

项目管理 + 程序开发 + Delphi + 电脑应用 + 数码 + 进化感悟

 
 
 

日志

 
 

[存档2006-4-19]多线程和窗口的关系  

2009-07-05 22:28:24|  分类: Delphi |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

出丑了。靠,一直没有注意多线程和窗口的关系。因为VCL封装了,所以没有深入到这一层。自己怀疑碰到的问题和线程有关,但是没有写代码去验证,石化!

问题是这样的:在一个线程中,创建一个窗口,并挂上一个窗口消息处理过程,采用异步的方式实现的。线程最后释放掉了,结果创建的窗口收不到消息。采用同步的方式创建的窗口,就可以收到消息!

一个窗口一定要关联到一个线程,而且该线程不能销毁,否则窗口没有消息循环队列。可以采用同步的方式在线程中创建窗口,这样窗口就可以关联到主线程,即使线程销毁,也不会影响到窗口的消息处理!

Delphi中,线程同步采用的是把所有的需要同步的线程和主线程的消息队列都采用同一个线程来实现。因为消息队列是安全的并且是顺序的,所以各个线程之间也就是安全的。

  评论这张
 
阅读(148)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017