[英]paho-mqtt : callback thread
我正在用paho-mqtt在python中實現MQTT工作者。
是否所有的on_message()多線程都位於不同的線程中,因此,如果一項任務很耗時,仍然可以處理其他消息?
如果沒有,該如何實現?
python客戶端實際上並沒有啟動任何線程,這就是為什么您必須調用loop函數來處理網絡事件的原因。
在Java中,您可以使用onMessage回調將傳入消息放到一個單獨的線程池將處理的本地隊列中。
Python沒有本機線程支持,但確實支持產生像線程一樣的生成過程。
可以在這里找到多處理的詳細信息:
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.