【发布时间】:2016-04-21 09:00:43
【问题描述】:
GLOBAL_VAR = 1
class Worker:
class_var = 2
Worker 的实例由多个进程创建。他们会有自己的上述变量的副本吗?如果不是,我可以使用它们安全地锁定对多个类实例访问的资源的访问(当然,以线程安全的方式创建和访问它们)?我想为班级用户透明地做这件事。这样做的正确方法是什么?
【问题讨论】:
标签: python multithreading multiprocessing
GLOBAL_VAR = 1
class Worker:
class_var = 2
Worker 的实例由多个进程创建。他们会有自己的上述变量的副本吗?如果不是,我可以使用它们安全地锁定对多个类实例访问的资源的访问(当然,以线程安全的方式创建和访问它们)?我想为班级用户透明地做这件事。这样做的正确方法是什么?
【问题讨论】:
标签: python multithreading multiprocessing
您是在谈论多线程还是多处理?这些在 Python 中非常不同。
线程可以像在 Python 中一样访问变量,不受限制。 另一方面,进程不能访问另一个进程的变量(除了共享变量的一些例外)。进程将在创建时复制局部变量的当前状态,但它只是一个副本。
【讨论】: