From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Sat, 24 Dec 2022 20:25:34 +0000 (-0800) Subject: GH-93179: Document the thread safety of functools.lru_cache (GH-95970) X-Git-Tag: v3.11.2~139 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3b704874592a3a1895c9a69a39c23ea22d1d06ca;p=thirdparty%2FPython%2Fcpython.git GH-93179: Document the thread safety of functools.lru_cache (GH-95970) (cherry picked from commit ba4bb7e4649be99d5d6b4151a1bd2eac89ef97f2) Co-authored-by: Raymond Hettinger --- diff --git a/Doc/library/functools.rst b/Doc/library/functools.rst index 9beebd2a85e5..2f0a9bd8be88 100644 --- a/Doc/library/functools.rst +++ b/Doc/library/functools.rst @@ -49,6 +49,9 @@ The :mod:`functools` module defines the following functions: >>> factorial(12) # makes two new recursive calls, the other 10 are cached 479001600 + The cache is threadsafe so the wrapped function can be used in multiple + threads. + .. 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 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 arguments to the function must be hashable.