代码如下:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from multiprocessing import Process
import os, time
def D1(arg):
for i in range(5):
time.sleep(0.5)
print("D1")
def D2(arg):
for j in range(10):
time.sleep(1.5)
print("D2")
if __name__ == '__main__':
p1 = Process(target = D1, args = ("1", ))
p2 = Process(target = D2, args = ("2", ))
p1.start()
p2.start()
p1.join() #当前进程阻塞,等待p1进程执行完成
p2.join()
以我对并行的认知就是,两个函数同时运行,那么以上输出结果应该是:
D1,D1,D1,D2,D1,D1,D2,D2,D2,D2,D2,D2,D2,D2,D2
然鹅,结果却是:D1,D1,D1,D1,D1,D2,D2,D2,D2,D2,D2,D2,D2,D2,D2
这不对啊!这是并行运行吗?感觉还是顺序运行。我用的代码不对吗?