class Producer(object): def __init__(self): self.data = {} self.data[0] = 1 self.rwlock = RWLock() def produce(self): with self.rwlock.write_lock(): old = self.data self.data = {} self.data[0] = 42 old[0] = 2 def consume_1(self): with self.rwlock.read_lock(): assert_that(self.data[0] == 1 or self.data[0] == 42, is_(True)) def consume_2(self): with self.rwlock.read_lock(): assert_that(self.data[0] == 1 or self.data[0] == 42, is_(True))
def __init__(self): self.data = {} self.data[0] = 1 self.rwlock = RWLock()