From 3b704874592a3a1895c9a69a39c23ea22d1d06ca Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 24 Dec 2022 12:25:34 -0800 Subject: GH-93179: Document the thread safety of functools.lru_cache (GH-95970) (cherry picked from commit ba4bb7e4649be99d5d6b4151a1bd2eac89ef97f2) Co-authored-by: Raymond Hettinger --- Doc/library/functools.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Doc/library/functools.rst b/Doc/library/functools.rst index 9beebd2..2f0a9bd 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. -- cgit v0.12