Python多进程同步Lock、Semaphore、Event实例

本文详细介绍了Python中用于多进程同步的Lock、Semaphore和Event工具。Lock防止共享资源访问冲突,Semaphore限制并发访问数量,Event实现进程间通信。通过实例展示了它们的使用方法,适合对Python多进程感兴趣的读者学习。
摘要由CSDN通过智能技术生成

这篇文章主要介绍了Python多进程同步Lock、Semaphore、Event实例,Lock用来避免访问冲突、Semaphore用来控制对共享资源的访问数量、Event用来实现进程间同步通信,需要的朋友可以参考下
同步的方法基本与多线程相同。

  1. Lock

当多个进程需要访问共享资源的时候,Lock可以用来避免访问的冲突。

import multiprocessing
import sys
def worker_with(lock, f):
    with lock:
        fs = open(f,"a+")
        fs.write('Lock acquired via with\n')
        fs.close()
       
def worker_no_with(lock, f):
    lock.acquire()
    try:
        fs = open(f,"a+")
        fs.write('Lock acquired directly\n')
        fs.close()
    finally:
        lock.release()

if __name__ == "__main__":

    f = "file.txt"
 
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值