首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

窗口与线程?请帮忙

2012-02-29 
窗口与线程?请各位高手帮忙!在BCB中建了一个工程(不是MDI),然后又创建了2个窗口A和B(用Form控件),窗口上各

窗口与线程?请各位高手帮忙!
在BCB中建了一个工程(不是MDI),
然后   又   创建了2个窗口A和B(用Form控件),窗口上各放一个Timer控件(分别对串口巡检)

《1》如果不主动创建,程序是不是就只有一个主线程在运行?
          也就是说   窗口A和B都在同一个线程里运行?
《2》这样做和用一个Timer控件巡检2个串口,巡检周期会不会   有所   缩短?  



[解决办法]
学习
[解决办法]
1、只要你没有自行创建其它线程,那么一个应用程序默认就只有一个主线程,创建多个窗体也一样。虽然多个窗体从外观上好像能同时显示、刷新,那都是因为主线程进行消息分发(到具体窗体)的结果。

2、Timer的工作原理是每隔设定的时间(毫秒)向应用程序的消息队列发一个WM_TIMER消息,然后主线程分发该消息时触发Timer的OnTimer事件。因为要经过消息队列排队处理,所以及时性是不能保证的。如果有两个Timer,反正每个Timer都会发出自己的WM_TIMER消息然后排队,处理过程是先处理完第一个WM_TIMER消息后,再处理第二个WM_TIMER消息,由此可见,放两个Timer与一个Timer同时检测两个串口从最终效果上都差不多。

热点排行