消息机制和使用调用函数方式有何区别

最关键的应用区别是,消息机制可能解决不同线程间的数据转输和控制,而不同的线程间不能直接调用函数。
 
消息机制是排队处理方式,windows存在一个系统队列,每当一个应用程序或一个线程发生一个事件或需要处理事务的时候并不是直接调用应用程序中的函数,而是把需求打包,向windows申请调用。
 
系统根据调度机制,从队列中取得一个消息包,拆箱,检查内容,根据其来源,将消息包重新打包,发送给该包指定的应用程序队列。应用程序回调函数循环监视应用程序队列,根据消息包参数处理不同事务,执行完后将控制权释放。
 
这样做的好处是将主动权让给操作系统,由系统调度分配执行时间,实现多任务执行。
 
只有窗口处理函数利用消息机制,一般情况都使用调用,除非你需要窗口处理指定的任务,那么可以在如何时候发送一个消息给自己窗口。
 
至于优缺点,消息机制针对操作系统的,一般任务都是直接调用,但是如果遇到占用CPU时间长的事务,就要将事务分割成片段,然后发送消息给系统,请求调用,这样不至于造成CPU假死。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值