我尝试谷歌搜索,但没有得到权威的答案。
有人可以确认re
模块http://docs.python.org/2/library/re.html
是线程安全的吗?
更具体地说,哪些功能是,哪些不是?
另外,我可以重用单个全局编译的 re 对象来安全地跨线程执行sub
,search
等吗?
好像还没有明确的答案?
好的,一个更具体的例子:
class MyClass:
GLOBAL_VAR = re.compile(...)
def clean(self, value):
return MyClass.GLOBAL_VAR.sub('', value)
当多个线程同时调用 clean 时,这会按预期工作吗?