117096| 0
|
[高级教程] 掌控板micropython模式下MQTT的“阻塞”与“非阻塞”讲解 |
等待主题消息 以阻塞/非阻塞模式 详解概念解析阻塞:用于在接收到MQTT消息时阻塞代码的执行,直到收到消息为止。它会阻塞代码执行,直到收到消息后才会继续执行后续操作。非阻塞:用于检查是否有新的MQTT消息到达,但不会阻塞代码的执行。它会检查是否有新的消息到达,如果有则处理该消息,如果没有则立即返回,允许代码继续执行其他操作。适用情况阻塞:如果代码在接收到MQTT消息时需要立即做出响应,并且不需要同时执行其他操作时,需要用到阻塞模式。如下图程序所示:非阻塞:如果代码需要能够同时处理MQTT消息和其他操作,需要用到非阻塞模式。如下图程序所示:总结:“阻塞模式”用于在接收到MQTT消息时阻塞代码的执行,而“非阻塞模式”用于检查是否有新的消息到达,但不会阻塞代码的执行。可以根据具体的需求选择适合的模式来处理MQTT消息。如果只是发送消息到物联网平台,无需响应,可以不用设置模式。注意:以上程序截图只是为了方便理解,不是最规范的写法。因为在使用“阻塞模式”时,需要确保没有其他阻塞代码或无限循环,否则可能会导致代码无法继续执行。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed