Trying to use threading.local()

Antoon Pardon antoon.pardon at vub.be
Fri Sep 14 05:18:42 EDT 2018


On 14-09-18 10:29, Chris Angelico wrote:
> On Fri, Sep 14, 2018 at 5:25 PM, Antoon Pardon <antoon.pardon at vub.be> wrote:
>>>> ... Suppose I have two threads, one in which I need
>> a precision of 3 and the other in which I need a precision of 7. In what
>> circumstances is it needed to use threads-locals to accomplish this and
>> how do I accomplish this?
>>>> If I want my decimal code be usable with threads, how should I write it?
> Let's say both of those threads call the same function, which does this:
>> def f(x, y):
> return x * 3 + y / 4
>> You can't pass a context as a parameter, so you have to set the
> context externally. Which is done thus:
>> https://docs.python.org/3/library/decimal.html#decimal.setcontext
>> Note that this sets it *for the current thread*.

So, if I understand correctly, the threads-local information in this case is
part of the decimal implementation, so that the right context/precision is
used for the right thread.
-- 
Antoon Pardon.


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /