
10.06.2009, 14:45
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами:
9427413
Репутация:
973
|
|
Пипец, как бы ни прискорбно, но для threads-safe счетчика пришлось таки юзать класс - взял готовый мини-счетчик с маиллиста питона и переделал его немного по своему
Код:
class Counter:
def __init__(self, start=0, increment=1):
self.counter = start
self.increment = increment
self.lock = threading.RLock()
def __call__(self):
self.lock.acquire()
self.counter += self.increment
i = self.counter
self.lock.release()
return i
def Get(self):
self.lock.acquire()
i = self.counter
self.lock.release()
return i
def Clear(self):
self.lock.acquire()
self.counter = 0
i = self.counter
self.lock.release()
return i
|
|
|