当多个进程使用同一份数据资源的时候,就会引发数据安全或顺序混乱问题。

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))
# 关于抢占输出资源的事情,是指多进程并发执行时,并不是一个进程执行完任务后其他进程再执行。
# 比如 此程序会输出:我是四川的  我是河南的 我是江苏的 谢谢!谢谢!我是湖南的 谢谢! 谢谢!
# 而不是 : 我是四川的 谢谢! 我是河南的 谢谢! ...
多进程抢占资源

相关文章: