Generation

generate functionWed, 22 Feb 2023

create a simple semaphore

class Semaphore: def __init__(self, max): self.max = max self.tokens = 0 self.waiting = [] def acquire(self): if self.tokens < self.max: self.tokens += 1 return True else: return False def release(self): self.tokens -= 1 def semaphore_function(semaphore, function): def semaphore_wrapper(*args, **kwargs): semaphore.acquire() try: return function(*args, **kwargs) finally: semaphore.release() return semaphore_wrapper

Questions about programming?Chat with your personal AI assistant