Python全局变量是线程安全的吗?

Car*_*son 5 python tornado mongodb

编辑:我问全局变量在龙卷风这样的单线程Web框架中是否安全

即时通讯使用mongoengine orm,它从全局变量获取数据库连接:

_get_db() # gets the db connection
Run Code Online (Sandbox Code Playgroud)

我还使用了龙卷风,一个单线程的python网络框架。在一个特定的视图中,我需要获取数据库连接并取消引用DBRef对象(类似于外键):

# dereference a DBRef
_get_db().dereference(some_db_ref)
Run Code Online (Sandbox Code Playgroud)

由于返回的连接_get_db是全局变量,是否有可能发生冲突并且将错误的值返回到错误的线程?

mdi*_*olf 2

假设 MongoEngine 正在包装 PyMongo(我相信它是),那么你应该没问题。PyMongo 是完全线程安全的。