gpt4 book ai didi

python - python 中的互斥装饰器

转载 作者:行者123 更新时间:2023-12-01 06:12:39 25 4
gpt4 key购买 nike

我看到了这个:http://yukelzon.blogspot.com/2005/07/python-locks.html当寻找解决方案来向现有代码添加一些锁定以写入文件时。

满足我需求的简化版本如下所示:

  def mlock(orig):
def inner(*args, **kwargs):
Coloring.lock.acquire()
try:
ret = orig(*args, **kwargs)
return ret
finally:
Coloring.lock.release()
return inner

锁是一个类变量。有人能想到改进或更好的方法吗?

最佳答案

如果您使用的是 Python 2.6+(我认为),互斥对象是上下文管理器,因此:

def mlock(f):
def inner(*args, **kwargs):
with Coloring.lock:
return f(*args, **kwargs)
return inner

关于python - python 中的互斥装饰器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4964736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com