From ba4bb7e4649be99d5d6b4151a1bd2eac89ef97f2 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Thu, 18 Aug 2022 17:38:49 -0500 Subject: [PATCH] GH-93179: Document the thread safety of functools.lru_cache (GH-95970) --- Doc/library/functools.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Doc/library/functools.rst b/Doc/library/functools.rst index 00aca09bc7a..47cbe59fa49 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.