我运行多个进程,多个进程之间内存空间是互相隔离的,进程与进程之间数据是不共享的,但是他们是运行一个操作系统之上,共享同一套文件系统 ,多个进程访问同一个文件是可以的
共享带来的问题是竞争,竞争带来的问题是错乱
并发变成串行
from multiprocessing import Process,Lock
import time
def task(name,mutex):
#加锁
mutex.acquire()
print('%s 1' %name)
time.sleep(1)
print('%s 2' %name)
time.sleep(1)
print('%s 3' %name)
#释放锁
mutex.release()
if __name__ == '__main__':
#父进程 保证所有的进程用同意把锁
mutex=Lock()
for i in range(3):
p = Process(target=task,args=('进程%s' %i,mutex))
p.start()