Issue #22369: Change "context manager protocol" to "context management protocol".
diff --git a/Doc/library/threading.rst b/Doc/library/threading.rst
index 4a3b3ea..f59ffe5 100644
--- a/Doc/library/threading.rst
+++ b/Doc/library/threading.rst
@@ -354,7 +354,7 @@
 immediately. If an attempt is made to release an unlocked lock, a
 :exc:`RuntimeError` will be raised.
 
-Locks also support the :ref:`context manager protocol <with-locks>`.
+Locks also support the :ref:`context management protocol <with-locks>`.
 
 When more than one thread is blocked in :meth:`~Lock.acquire` waiting for the
 state to turn to unlocked, only one thread proceeds when a :meth:`~Lock.release`
@@ -433,7 +433,7 @@
 :meth:`~Lock.release` of the outermost pair) resets the lock to unlocked and
 allows another thread blocked in :meth:`~Lock.acquire` to proceed.
 
-Reentrant locks also support the :ref:`context manager protocol <with-locks>`.
+Reentrant locks also support the :ref:`context management protocol <with-locks>`.
 
 
 .. class:: RLock()
@@ -501,7 +501,7 @@
 several condition variables must share the same lock.  The lock is part of
 the condition object: you don't have to track it separately.
 
-A condition variable obeys the :ref:`context manager protocol <with-locks>`:
+A condition variable obeys the :ref:`context management protocol <with-locks>`:
 using the ``with`` statement acquires the associated lock for the duration of
 the enclosed block.  The :meth:`~Condition.acquire` and
 :meth:`~Condition.release` methods also call the corresponding methods of
@@ -677,7 +677,7 @@
 finds that it is zero, it blocks, waiting until some other thread calls
 :meth:`~Semaphore.release`.
 
-Semaphores also support the :ref:`context manager protocol <with-locks>`.
+Semaphores also support the :ref:`context management protocol <with-locks>`.
 
 
 .. class:: Semaphore(value=1)