116216浏览
查看: 116216|回复: 0

[高级教程] 掌控板micropython模式下MQTT的“阻塞”与“非阻塞”讲解

[复制链接]

等待主题消息  以阻塞/非阻塞模式  详解

概念解析

阻塞:用于在接收到MQTT消息时阻塞代码的执行,直到收到消息为止。它会阻塞代码执行,直到收到消息后才会继续执行后续操作。

非阻塞:用于检查是否有新的MQTT消息到达,但不会阻塞代码的执行。它会检查是否有新的消息到达,如果有则处理该消息,如果没有则立即返回,允许代码继续执行其他操作。

适用情况

阻塞:如果代码在接收到MQTT消息时需要立即做出响应,并且不需要同时执行其他操作时,需要用到阻塞模式。如下图程序所示:

非阻塞:如果代码需要能够同时处理MQTT消息和其他操作,需要用到非阻塞模式。如下图程序所示:

总结:“阻塞模式”用于在接收到MQTT消息时阻塞代码的执行,而“非阻塞模式”用于检查是否有新的消息到达,但不会阻塞代码的执行。可以根据具体的需求选择适合的模式来处理MQTT消息。如果只是发送消息到物联网平台,无需响应,可以不用设置模式。

注意:以上程序截图只是为了方便理解,不是最规范的写法。因为在使用“阻塞模式”时,需要确保没有其他阻塞代码或无限循环,否则可能会导致代码无法继续执行。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail