mirror of
https://github.com/python/cpython.git
synced 2025-07-08 03:45:36 +00:00
gh-114315: Make threading.Lock
a real class, not a factory function (#114479)
`threading.Lock` is now the underlying class and is constructable rather than the old factory function. This allows for type annotations to refer to it which had no non-ugly way to be expressed prior to this. --------- Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Gregory P. Smith <greg@krypto.org>
This commit is contained in:
parent
b52fc70d1a
commit
d96358ff9d
5 changed files with 52 additions and 14 deletions
|
@ -5,7 +5,6 @@ import sys as _sys
|
|||
import _thread
|
||||
import functools
|
||||
import warnings
|
||||
import _weakref
|
||||
|
||||
from time import monotonic as _time
|
||||
from _weakrefset import WeakSet
|
||||
|
@ -37,6 +36,7 @@ __all__ = ['get_ident', 'active_count', 'Condition', 'current_thread',
|
|||
_start_joinable_thread = _thread.start_joinable_thread
|
||||
_daemon_threads_allowed = _thread.daemon_threads_allowed
|
||||
_allocate_lock = _thread.allocate_lock
|
||||
_LockType = _thread.LockType
|
||||
_set_sentinel = _thread._set_sentinel
|
||||
get_ident = _thread.get_ident
|
||||
_is_main_interpreter = _thread._is_main_interpreter
|
||||
|
@ -115,7 +115,7 @@ def gettrace():
|
|||
|
||||
# Synchronization classes
|
||||
|
||||
Lock = _allocate_lock
|
||||
Lock = _LockType
|
||||
|
||||
def RLock(*args, **kwargs):
|
||||
"""Factory function that returns a new reentrant lock.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue