簡體   English   中英

Windows 上 Python 中的多處理

[英]Multiprocessing in Python on Windows

我正在嘗試 python 文檔http://docs.python.org/library/multiprocessing.html中列出的示例,尤其是在 Windows 上的這兩個:

1)

from multiprocessing import Process

def f(name):
    print 'hello', name

if __name__ == '__main__':
    p = Process(target=f, args=('bob',))
    p.start()
    p.join()

2)

from multiprocessing import Process
import os

def info(title):
    print title
    print 'module name:', __name__
    print 'parent process:', os.getppid()
    print 'process id:', os.getpid()

def f(name):
    info('function f')
    print 'hello', name

if __name__ == '__main__':
    info('main line')
    p = Process(target=f, args=('bob',))
    p.start()
    p.join()

問題是:我沒有從子進程中得到任何輸出。 它雖然適用於Linux。 到底是怎么回事?

示例 1 運行良好。(我希望您將程序保存在一個文件中,然后執行它,否則它根本無法識別函數 f)。

如果您想要父進程的 ID,示例 2 將不起作用。 windows中沒有getppid。

只需打印 os.getppid 並執行,它一如既往的精彩!

請參閱Doug了解更多信息。 更新:原始鏈接不起作用,這里有類似的東西。)

暫無
暫無

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

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