Trying to use threading.local()

Chris Angelico rosuav at gmail.com
Thu Sep 13 08:29:36 EDT 2018


On Thu, Sep 13, 2018 at 10:22 PM, Peter Otten <__peter__ at web.de> wrote:
> Antoon Pardon wrote:
>
>> On 12-09-18 22:14, Peter Otten wrote:
>>> As I understand it you need one local() instance that is shared by all
>>> workers. Every thead will then see thread-specific values.
>>
>> It has always puzzled me how this is useful. The times I work with
>> threads, I just put thread specific values in the local variables of the
>> thread function.
>
> That would be my preferred approach, too. Passing around variables through
> multiple levels of function calls may be inconvenient, but global variables
> tend to cause more trouble in the long run.

"Preferred" doesn't exclude the possibility that alternatives are
needed, though. For example, good luck making decimal.Decimal contexts
work correctly without the help of thread-locals - there MIGHT be a
way to do it, but even if there is, it sure won't be pretty.

ChrisA



More information about the Python-list mailing list