Python运行两个简单的过程

示例

使用多个流程的一个简单示例是分别执行的两个流程(工作人员)。在以下示例中,启动了两个过程:

  • countUp() 每秒计数1。

  • countDown() 每秒倒数1。

import multiprocessing
import time
from random import randint

def countUp():
    i = 0
    while i <= 3:
        print('Up:\t{}'.format(i))
        time.sleep(randint(1, 3)) # 睡1、2或3秒
        i += 1

def countDown():
    i = 3
    while i >= 0:
        print('Down:\t{}'.format(i))
        time.sleep(randint(1, 3)) # 睡1、2或3秒
        i -= 1

if __name__ == '__main__':
    # 启动工人。
    workerUp = multiprocessing.Process(target=countUp)
    workerDown = multiprocessing.Process(target=countDown)
    
    # 启动工人。
    workerUp.start()
    workerDown.start()

    #加入工人。这将阻塞主(父)过程
    # 直到工人完成为止。
    workerUp.join()
    workerDown.join()

输出如下:

Up:    0
Down:    3
Up:    1
Up:    2
Down:    2
Up:    3
Down:    1
Down:    0