在Windows中,使用SendMessage来发送同步消息,使用PostMessage来发送异步消息。二者的区别在于:SendMessage将消息发给一个窗口,等窗口程序处理完成后才返回;PostMessage则是将消息发到线程的消息队列中,立即返回,不需要等窗口程序处理完成后再返回。SendMessage由于要等到消息被处理后才会返回,所以能保证消息能立即被处理,但可能导致调用函数的“堵塞”;PostMessage由于是将消息放到消息队列中,不能保证消息被立即处理,好处是会立即返回,不会造成函数的拥塞。

一般在回调函数中要使用PostMessage,以保证回调函数的即时执行,从而使回调函数提供者的代码执行不被拥塞。再就是在有的代码中,我们调用系统api实现预定的功能,但api函数内部使用的是,而后续操作需要在api函数起效果后在执行,即要保证消息按先后线性顺序被处理,所以后续操作需要使用PostMessage来处理,以最终实现我们所需要的功能。

Windows同步消息和异步消息的使用相关推荐

  1. RocketMQ 实战-SpringBoot整合RocketMQ同步消息、异步消息、单向消息

    官方样例:https://gitee.com/apache/rocketmq/blob/master/docs/cn/RocketMQ_Example.md 1. 同步消息 producer向 bro ...

  2. 同步消息和异步消息的区别

    顺序图是一种详细描述对象之间交互的图,强调消息之间的顺序. 消息是对象之间的通信的规格说明,这样的通信用于传输将发生的活动所需要的信息,既包含了控制(如调用)的规格说明,也包含了所使用的数据的规格说明 ...

  3. UML建模中简单消息、同步消息和异步消息

    简单消息Simple Message 表示简单的控制流,是从一个对象到另一个对象的控制流的转移.用于描述控制如何在对象间进行传递,而不考虑通信的细节. 同步消息Synchronous Message ...

  4. RocketMQ同步消息、异步消息、单向消息详解

    一.RocketMQ 支持 3 种消息发送方式 : 1.同步消息(sync message ) producer向 broker 发送消息,执行 API 时同步等待, 直到broker 服务器返回发送 ...

  5. php消息队列异步,消息队列 - 如何实现php的异步任务队列

    在开发一个类微博系统,采用推模式,用户发一条微博,需要将此微博在其所有粉丝每人的"收件箱"中存一条,如果粉丝数量大,处理过程就会很耗时,想把这个逻辑用异步队列来实现. 思路如下: ...

  6. Redis异步消息队列

    一.异步消息队列介绍 个人认为消息队列的主要特点是异步处理,主要目的是减少请求响应时间和解耦.所以主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列.同时由于使用了消 ...

  7. 【Java从0到架构师】RocketMQ 使用 - 发送消息、接收消息、特殊消息

    RocketMQ 消息中间件 入门案例 NameServer 地址 发送消息 同步发送消息 异步发送消息 一次性发送消息 生产者组.消息封装 接收消息 消费方式:推式消费.拉式消费 消息方式:集群模式 ...

  8. Handler消息Message屏障消息

    Message分为3中:普通消息(同步消息).屏障消息(同步屏障)和异步消息.我们通常使用的都是普通消息,而屏障消息就是在消息队列中插入一个屏障(也是一个消息,这个消息会保存到当前Hanlder中,直 ...

  9. kafka之Producer同步与异步消息发送及事务幂等性案例应用实战

    本套系列博客从真实商业环境抽取案例进行总结和分享,并给出Spark商业应用实战指导,请持续关注本套博客.版权声明:本套Spark商业应用实战归作者(秦凯新)所有,禁止转载,欢迎学习. 秦凯新的技术社区 ...

最新文章

  1. 网站如何接入微信支付功能?微信支付详细教程它来了(建议收藏)
  2. 安装mq的时候,计算机用户名是中文名的解决办法
  3. 如何从云功能调用外部REST API
  4. AI顶会,正在使用AI来审阅AI论文
  5. Fault Tolerance 要求、限制和许可
  6. java中选择排序,冒泡排序和二分法查找学习记录
  7. 【BZOJ4557】[JLoi2016]侦察守卫 树形DP
  8. springboot框架搭建
  9. 《企业IT架构转型之道》边读边想——内容主线
  10. Java调用第三方http接口的方式
  11. VB做的 串口PID 调试助手
  12. 【我爱破解】对某软件的逆向分析与注册机编写
  13. opensim源码安装教程
  14. 最近整理的Android学习笔记
  15. 微信封的是微信号还是服务器,微信号被封,那这个手机号是不是废了?
  16. 运行 skimage 报错ImportError: DLL load failed:找不到指定模块
  17. HTTP/1.1(消息格式、连接管理、条件请求、范围请求、缓存、身份验证)
  18. linux用户禁止登录,Linux限制用户登录
  19. 正方教务系统爬虫实现
  20. rk3568安卓11系统之开发环境搭建

热门文章

  1. 计算机网络术语大全 翻译,计算机网络词汇中文英语翻译对照术语
  2. golang 实现代付充值系统
  3. 狗屁不通文章生成器写的文章,评分软件赞不绝口
  4. 郑大土木人开始跑路咯 IT行业才是我的心之所向
  5. 彩色图像、灰度图像、索引图像和二值图像的区别
  6. JavaSE-初级阶段项目-学生管理系统
  7. vscode设置默认自动换行方法步骤
  8. 单片机实验-开发板动态显示电路移植
  9. ElementUI:Checkbox实现单选,嵌套多选
  10. 海外作家评价莫言获奖-当今中国文坛里程碑事件-莫言-诺贝尔文学奖