python 进程同步停止
时间: 2023-11-04 09:57:18 浏览: 45
Python中可以使用multiprocessing包中的Lock对象来实现进程间的同步停止。Lock对象可以用来创建一个互斥锁,同一时间只有一个进程可以访问共享资源。当一个进程需要访问共享资源时,它可以使用acquire()方法来获取锁,执行完操作后再使用release()方法来释放锁。
下面是一个示例代码,展示了如何使用Lock对象来实现进程间的同步停止:
```
from multiprocessing import Process, Lock
import time
def worker(lock):
lock.acquire()
print('Worker acquired the lock')
time.sleep(2)
lock.release()
print('Worker released the lock')
if __name__ == '__main__':
lock = Lock()
processes = []
for _ in range(3):
p = Process(target=worker, args=(lock,))
processes.append(p)
p.start()
for p in processes:
p.join()
print('All processes completed')
```
在上面的代码中,我们创建了一个Lock对象,并将其传递给每个进程的worker函数。在worker函数中,进程首先使用acquire()方法获取锁,然后执行一些操作,最后使用release()方法释放锁。
当所有进程都完成了它们的任务后,我们可以打印出"All processes completed"。