簡體   English   中英

paho-mqtt:回調線程

[英]paho-mqtt : callback thread

我正在用paho-mqtt在python中實現MQTT工作者。

是否所有的on_message()多線程都位於不同的線程中,因此,如果一項任務很耗時,仍然可以處理其他消息?

如果沒有,該如何實現?

python客戶端實際上並沒有啟動任何線程,這就是為什么您必須調用loop函數來處理網絡事件的原因。

在Java中,您可以使用onMessage回調將傳入消息放到一個單獨的線程池將處理的本地隊列中。

Python沒有本機線程支持,但確實支持產生像線程一樣的生成過程。 可以在這里找到多處理的詳細信息:

\n

https://docs.python.org/2.7/library/multiprocessing.html

編輯:在更仔細地看一下paho python代碼時,它看起來實際上可以啟動一個新線程(使用loop_start()函數)來處理以前需要循環函數的網絡方面。 這不會改變對on_message回調的所有調用都會在此線程上發生的事實。 如果您需要在此回調中執行大量工作,則絕對應該尋找新線程池來完成此工作。

http://www.tutorialspoint.com/python/python_multithreading.htm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM