mutex в python

Phoenix

почему-то вылетает по исключению

Exception in thread SiH9-SiM9-proc:
Traceback (most recent call last):
File "c:\usr\python25\lib\threading.py", line 486, in __bootstrap_inner
self.run
File "c:\usr\python25\lib\threading.py", line 446, in run
self.__target(*self.__args, **self.__kwargs)
File "stockgate-p.py", line 287, in update_contango_proc
far.mutex.unlock
File "c:\usr\python25\lib\mutex.py", line 49, in unlock
function, argument = self.queue.popleft
IndexError: pop from an empty deque

в примере 2 потока, меняющие переменную.
использую так

mutex = mutex.mutex
a = 0
def proc:
mutex.lock(time.sleep,0.05)
a = a+1
mutex.unlock

использую вот это http://docs.python.org/library/mutex.html
Там написано, что оно выводится из языка. Возможно поэтому.
Какой сейчас правильный путь для решения задачи разграничения доступа к общим ресурсам разных потоков.

vall

ну дык используй lock из threading, этот mutex это вообще какой-то не правильный mutex

Phoenix

threading.Lock
A factory function that returns a new primitive lock object. Once a thread has acquired it, subsequent attempts to acquire it block, until it is released; any thread may release it.
я так понимаю, что это оно.
спасибо. буду внедрять.
Оставить комментарий
Имя или ник:
Комментарий: