【发布时间】:2014-05-20 13:45:41
【问题描述】:
我有一个需要写入文件的类。我的程序创建了多个这样的类,我想避免写冲突。我试图通过使用静态变量来避免它,因此每个类都有一个唯一的文件名。即:
class Foo:
instance_count = 1
@staticmethod
def make():
file_name = Foo.instance_count + '-' + 'file.foo'
Foo.instance_count += 1
Foo(file_name)
def Foo(self, fname):
self.fname = fname
这在某种程度上有效,但在可能并行创建类的情况下无效。我怎样才能使它更健壮?
编辑:
我的用例在我的应用程序中创建了这个类,由 gunicorn 提供服务。所以我用 gunicorn 启动我的应用程序,假设有 10 个工人,所以我实际上无法管理他们之间的通信。
【问题讨论】:
-
实际上,您能否再解释一下您的用例:当您说并行时,您的意思是什么?
标签: python file static-variables