[Python-ideas] threading lock and isinstance

Guido van Rossum guido at python.org
Thu Mar 29 14:48:56 EDT 2018


You should probably first explain your use case -- why is it important to
your code to be able to use isinstance() on locks?

On Thu, Mar 29, 2018 at 2:43 AM, Jacco van Dorp <j.van.dorp at deonet.nl>
wrote:

> Currently, you cannot use isinstance checks on threading locks, because
> they're created by a factory function instead of being actual classes.
>
> Now that we've got __subclasshook__  and __instancecheck__, is there
> still a reason other than "history" that we can't use isinstance here ?
> There
> could exist a thin wrapper class along the lines of:
>
> class Lock:
>     def __new__():
>         return __allocate_lock()  # Call factory function
>
>     @classmethod
>     def __subclasshook__(cls, inst):
>         # code...
>
> As far as I can think, no code would be broken by this - even current
> introspection
> which we're trying to replace would work just fine.
>
> My C experience is rather limited, so i dont know if it's hard to
> write the subclass
> /isinstance checks.
>
> While probably not that important, would people consider this to be a
> good idea ?
>
> (I found this bug report: https://bugs.python.org/issue3352 which has
> a post of Nick Coghlan  from 2008-07-14 22:25 where this is mentioned
> - but in respect to multiprocessing. However, that thread is rather
> old and dead. I could not find any other references to this.)
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
>



-- 
--Guido van Rossum (python.org/~guido)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20180329/34fff56e/attachment.html>


More information about the Python-ideas mailing list