[Python-Dev] PEP 550 v4
Yury Selivanov
yselivanov.ml at gmail.com
Mon Aug 28 11:26:51 EDT 2017
On Sat, Aug 26, 2017 at 4:45 PM, francismb <francismb at email.de> wrote:
[..]
> it's by design that the execution context for new threads to be empty or
> should it be possible to set it to some initial value? Like e.g:
>
> var = new_context_var('init')
>
> def sub():
> assert var.lookup() == 'init'
> var.set('sub')
>
> def main():
> var.set('main')
>
> thread = threading.Thread(target=sub)
> thread.start()
> thread.join()
>
> assert var.lookup() == 'main'
Yes, it's by design.
With PEP 550 APIs it's easy to subclass threading.Thread or
concurrent.futures.ThreadPool to make them capture the EC.
Yury
More information about the Python-Dev
mailing list