gpt4 book ai didi

java - 如何在MQTT消息到达之前保持线程

转载 作者:行者123 更新时间:2023-12-03 13:09:54 26 4
gpt4 key购买 nike

在我的应用程序中,我通过Paho MQTT发送了一条消息,在发送新消息之前,我必须等待响应。

例如。:

while (!exit){
sendMessage(); //sends message via Paho MQTT
myMqttConnection.run() //starts a thread to wait for Response via Paho MQTT
//what to do to hold this thread till a message has arrived?
}

sendMessage()和myMqttConnection是2个不同的主题,以防万一

最佳答案

鉴于您提供的信息有限,有几种方法可以解决此问题。

如果必须在myMqttConnection.run()代码中生成线程,则需要一种让线程彼此等待的方法。

如果您对旧式代码感到满意,则可以使用共享的保护对象和等待/通知机制。更现代的方法是使用CyclicBarrier之类的东西。

否则,如果您在myMqttConnection.run()中生成线程,但随后等待其完成,则必须询问为什么要生成线程..?为什么不将run()重命名为read()并从read()消息中返回消息呢?

关于java - 如何在MQTT消息到达之前保持线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38037196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com