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

怎样使发生新的消息时原来的消息处理函数执行完毕(且新的消息得立即执行)解决办法

2012-02-10 
怎样使发生新的消息时原来的消息处理函数执行完毕(且新的消息得立即执行)void OnEvnent(){HandleEvent()}

怎样使发生新的消息时原来的消息处理函数执行完毕(且新的消息得立即执行)
void OnEvnent()
{
  HandleEvent();
}
void HandleEvent()
{
  {
  //处理A
  } 
  {
  //处理B
  } 
  {
  //处理C
  } 
}

  OnEvent事件发生的很频繁,每发生该事件时立即调用HandleEvent
  问题是:HandleEvent执行耗时较长,可能刚执行到处理B又有新的OnEvent事件发生,导致处理C不能每次都被执行
  该怎么解决?[b][/b]

[解决办法]
多线程方式如何?
[解决办法]
你可以定义一个消息队列,按顺序执行消息;
[解决办法]
线程+消息队列
[解决办法]
同步(Synchronize)、事件(TEvent)、临界池(TCriticalSection)
[解决办法]
多线程
[解决办法]
多线程。。
[解决办法]
消息队列比较好

热点排行