(2013&2012Windows编程+网络编程)360、腾讯、迅雷面试题及答案,求讨论
http://blog.csdn.net/wojiushiwo987/article/details/7956611
(2013&2012Windows编程+网络编程)360、腾讯、迅雷面试题及答案,求讨论正确与否?
大家一起探讨下,对不对?欢迎讨论。。。
[解决办法]
[解决办法]
【面试官】说:一个线程对应一个窗口(创建的关系),同时一个线程被系统分配了一个消息队列。是1:1:1的关系。
------------------------
一旦线程调用一个与图形用户界面有关的函数(例如检查
它的消息队列或建立一个窗口),系统就会为该线程分配一些另外的资源,以便它能够执行与用户
界面有关的任务。特别是,系统分配一个T H R E A D I N F O结构,并将这个数据结构与线程联系起来。
这个T H R E A D I N F O结构包含一组成员变量,利用这组成员,线程可以认为它是在自己独占
的环境中运行。T H R E A D I N F O是一个内部的、未公开的数据结构,用来指定线程的登记消息队
列(posted-message queue)、发送消息队列( send-message queue)、应答消息队列( r e p l y -
message queue)、虚拟输入队列(virtualized-input queue)、唤醒标志(wake flag)、以及用来描
述线程局部输入状态的若干变量。
以上内容摘自windows核心编程第四版第26章,这章建议楼主看下,另SendMessage在这章里讲解的很充分,同一线程同一窗口,同一线程不同窗口,跨线程,甚至跨进程SendMessage的处理都不同。
个人理解,一个UI线程就1组消息队列集合,一个线程可以创建多个窗口。这个面试官是什么情况