为什么我的进程是按顺序执行的



我正在使用Python的多处理模块。我从这个程序开始:

import multiprocessing
def worker(num):
    """thread worker function"""
    print 'Worker:', num
    return
if __name__ == '__main__':
    for i in range(5):
        p = multiprocessing.Process(target=worker, args=(i,))
        p.start()

令我惊讶的是,结果总是这样的:

Worker: 0
Worker: 1
Worker: 2
Worker: 3
Worker: 4

我希望工人不时以不同的顺序输出,但无论我运行程序多少次,这都不会发生。我哪里误会了?

你的代码很好,它非常快。尝试这样做以添加一些抖动:

import multiprocessing
from random import randint
from time import sleep
def worker(num):
    """thread worker function"""
    sleep(randint(0, 5))
    print 'Worker:', num
    return
if __name__ == '__main__':
    for i in range(5):
        p = multiprocessing.Process(target=worker, args=(i,))
        p.start()

相关内容

  • 没有找到相关文章

最新更新