GH-93179: Document the thread safety of functools.lru_cache (GH-95970)

This commit is contained in:
Raymond Hettinger 2022-08-18 17:38:49 -05:00 committed by GitHub
parent 214eb2cce5
commit ba4bb7e464
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -49,6 +49,9 @@ The :mod:`functools` module defines the following functions:
>>> factorial(12) # makes two new recursive calls, the other 10 are cached >>> factorial(12) # makes two new recursive calls, the other 10 are cached
479001600 479001600
The cache is threadsafe so the wrapped function can be used in multiple
threads.
.. versionadded:: 3.9 .. versionadded:: 3.9
@ -140,6 +143,9 @@ The :mod:`functools` module defines the following functions:
*maxsize* most recent calls. It can save time when an expensive or I/O bound *maxsize* most recent calls. It can save time when an expensive or I/O bound
function is periodically called with the same arguments. function is periodically called with the same arguments.
The cache is threadsafe so the wrapped function can be used in multiple
threads.
Since a dictionary is used to cache results, the positional and keyword Since a dictionary is used to cache results, the positional and keyword
arguments to the function must be hashable. arguments to the function must be hashable.