【问题标题】:How to test if an object is a lock?如何测试一个对象是否是锁?
【发布时间】:2019-07-27 14:22:43
【问题描述】:

您将如何测试一个对象是threading.Lock 还是multiprocessing.Lock(以及它们各自的RLocks?)。 Python 中的这些对象(至少 3 个)是工厂方法,所以你不能只做:

isinstance(obj, threading.Lock)

这样会给出:

TypeError: isinstance() arg 2 must be a type or tuple of types

【问题讨论】:

    标签: python python-multiprocessing python-multithreading standard-library factory-method


    【解决方案1】:

    如果你有一个实例,你可以得到它的类型。所以简单的解决方案是做

    threading_Lock = type(threading.Lock())
    isinstance(obj, threading_Lock)
    

    【讨论】:

      【解决方案2】:

      简单的方法:

      isinstance(obj, type(threading.Lock()))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-30
        • 2021-02-16
        • 1970-01-01
        • 2016-07-27
        • 1970-01-01
        相关资源
        最近更新 更多