On 14-09-18 10:29, Chris Angelico wrote: > On Fri, Sep 14, 2018 at 5:25 PM, Antoon Pardon <antoon.par...@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. -- https://mail.python.org/mailman/listinfo/python-list