当多个进程使用同一份数据资源的时候,就会引发数据安全或顺序混乱问题。
from multiprocessing import Process import random import time def func(addr): print('我是%s'%addr) time.sleep(random.random()) print('谢谢!') if __name__ == '__main__': l = ['四川的','湖南的','河南的','江苏的'] for addr in l: p = Process(target=func,args=(addr,)) p.start() time.sleep(2) print('\n\n我选%s'%random.choice(l)) # 关于抢占输出资源的事情,是指多进程并发执行时,并不是一个进程执行完任务后其他进程再执行。 # 比如 此程序会输出:我是四川的 我是河南的 我是江苏的 谢谢!谢谢!我是湖南的 谢谢! 谢谢! # 而不是 : 我是四川的 谢谢! 我是河南的 谢谢! ...