簡體   English   中英

多處理python的行為不符合預期

[英]Multiprocessing python doesn't behave as expected

您好,我正在使用multiprocessing庫從main()運行兩個不同的函數:

Coap = multiprocessing.Process(target=runCoapSync(iotComponent))
huis=multiprocessing.Process(target=runHuis(iotComponent))
huis.start()
Coap.start()

問題在於,函數runHuis()不會被觸發,但是如果我注釋運行其他函數的行,則函數runHuis()按預期工作。 我在代碼的其他地方使用了相同的結構,但是效果很好。

這是兩個函數的代碼:

def runHuis(iotDevice):
    print("----------------1---------------")
    LCD=iotDevice.connectedHUIs[0]
    while True:
        LCD.alertHuman(iotDevice.connectedSensors[0].data.value)

def runCoapSync(iotDevice):
    print("----------------2---------------")
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    loop.run_until_complete(runCoap(iotDevice))

multiprocessing.Process要求目標是帶有可選args的可調用對象

multiprocessing.Process(target=runCoapSync, args=(iotComponent,))

由於您正在調用它,因此其余程序將等待runCoapSync完成。

暫無
暫無

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

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