我应该使这个线程安全吗?

时间:2014-12-12 17:36:17

标签: python multithreading thread-safety

我对python中的并发编程提出了一个问题。

假设我有两个线程,thread-R和thread-W。 Thread-R只读取一个变量,Thread-W定期更新这个变量。此外,只需要Thread-R由于某种原因不会崩溃,并且线程-R只获取在更新线程-W之前或之后存储的值。

所以,非常简单的设置。但是,我问自己,由于某种原因,thread-R可能从变量中得到错误的值。

所以我的问题是:当线程-W更新值时,是否需要锁定变量,以便线程-R被阻塞,直到线程-W完成更新变量?

更新: 好的,基本上。我有像

这样的对象
class MyObject(object):

    def __init__(self):
        self.A = "A String"

这些对象存储在如下的字典中:

{key1 : myobject_instance_1, key2 : myobject_instance_2, ... }

因此,thread-W每次都会更新实例变量“A”,但不会更新字典本身。

0 个答案:

没有答案