How would you test if an object is a threading.Lock
or multiprocessing.Lock
(and their respective RLock
s?). These objects in Python (3, at least) are factory methods, so you can't just do:
isinstance(obj, threading.Lock)
As this would give:
TypeError: isinstance() arg 2 must be a type or tuple of types
If you have an instance, you can get its type. So the simple solution is to do
threading_Lock = type(threading.Lock())
isinstance(obj, threading_Lock)