import threading

class Lock:
    def __init__(self, lock_type):
        self.type = lock_type
        self.lock = threading.RLock()

    def acquire(self, *args, **kwargs):
        #print("acquiring lock for {}".format(self.type))
        self.lock.acquire(*args, **kwargs)

    def release(self, *args, **kwargs):
        #print("releasing lock for {}".format(self.type))
        self.lock.release(*args, **kwargs)