全部博文(788)
分类:
2009-04-22 11:00:58
线程的消息同步不是WIN系统的Postmessage 或 SendMessage
《WINDOWS核心编程》仔细看看,绝对值得购买。
帮顶 消息是队列。。。
同步还有临界区的方式,但只能用在同步同一个进程的多个线程,但它的速度最快,占用资源最少。
我不理解的主要是DO_USERMSG函数好像是并发执行的。
不是并发,但是memo处理的响应速度不及时,导致看起来像并发,界面完成一个消息的工作是需要时间的,不然Delphi的线程也不会有这段提示了:
{ Important: Methods and properties of objects in VCL or CLX can only be used
in a method called using Synchronize, for example,
Synchronize(UpdateCaption);
and UpdateCaption could look like,
procedure xxxx.UpdateCaption;
begin
Form1.Caption := 'Updated in a thread';
end; }
晕,这样的问题才叫基础问题?
发送消息的时候用PostMessage不用SendMessage