簡體   English   中英

Python多進程

[英]Python multiprocess

當我嘗試輸入時,出現“ EOFError:讀取行時出現EOF”。

def one():
    xyz = input("enter : ")
    print(xyz)

    time.sleep(1)

if __name__=='__main__':
    from multiprocessing import Process
    import time

    p1 = Process(target = one)
    p1.start()

主流程擁有標准輸入,而分叉流程則沒有。

可行的是使用multiprocessing.dummy ,它不會創建子流程而是創建線程

def one(stdin):
    xyz = input("enter: ")
    print(xyz)

    time.sleep(1)

if __name__=='__main__':
    from multiprocessing.dummy import Process
    import time

    p1 = Process(target = one)
    p1.start()

由於線程共享進程,因此它們也共享標准輸入。

對於真正的多處理,我建議您從主流程中收集交互式輸入並將其作為參數傳遞。

暫無
暫無

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

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