def __enter__(self): self.critical = Semaphore(1) self._errormon = ErrorMonitor() self._slavemon = SlaveMonitor(self._errormon) shared = sharedmem.empty((), dtype=[ ('ordered', 'intp'), ('barrier', 'intp'), ('dynamic', 'intp'), ]) self._barrier = Barrier(self.num_threads, shared['barrier'][...]) self._Ordered = MetaOrdered(self, shared['ordered'][...], Semaphore(1)) self._StaticForLoop = MetaStaticForLoop(self) self._DynamicForLoop = MetaDynamicForLoop(self, Semaphore(1), shared['dynamic'][...]) for param in self._variables: param.beforefork(self) self._fork() for param in self._variables: param.afterfork(self) if self.master: self._errormon.start() self._slavemon.start() LongJump.listen(self) return self
def __init__(self, n, count): self.n = n self.count = count self.count[...] = 0 self.mutex = Semaphore(1) self.turnstile = Semaphore(0) self.turnstile2 = Semaphore(0)
def __init__(self, maxsize=0): Queue.__init__(self, maxsize) self._unfinished_tasks = Semaphore(0) self._cond = Condition()
def Semaphore(value=1): """ Returns a semaphore object """ from multiprocessing.synchronize import Semaphore return Semaphore(value)
def Semaphore(value=1): from multiprocessing.synchronize import Semaphore return Semaphore(value)