예제 #1
0
파일: semaphore.py 프로젝트: void4/lockless
 def acquire(self, blocking=True):
     if self.value.value > 0:
         self.value.value -= 1
         return True
     else:
         if blocking:
             lockless.retry()
         else:
             return False
예제 #2
0
def wait_till_complete(v, n):
    if v.value != n:
        lockless.retry()
예제 #3
0
 def get(self):
     if len(self.obj.value) == 0:
         lockless.retry()
     else:
         return self.obj.value.pop(0)
예제 #4
0
파일: buffer.py 프로젝트: petehunt/lockless
def wait_till_complete(v, n):
    if v.value != n:
        lockless.retry()
예제 #5
0
파일: buffer.py 프로젝트: petehunt/lockless
 def get(self):
     if len(self.obj.value) == 0:
         lockless.retry()
     else:
         return self.obj.value.pop(0)
예제 #6
0
 def pickup(self):
     if self.available.value == 0:
         lockless.retry()
     else:
         self.available.value = 0
예제 #7
0
 def pickup(self):
     if self.available.value == 0:
         lockless.retry()
     else:
         self.available.value = 0