[Python-Dev] PEP 550 v4
francismb
francismb at email.de
Sat Aug 26 16:45:07 EDT 2017
Hi,
> Multithreaded Code
> ------------------
>
> In multithreaded code, context variables behave like thread locals::
>
> var = new_context_var()
>
> def sub():
> assert var.lookup() is None # The execution context is empty
> # for each new thread.
> var.set('sub')
>
> def main():
> var.set('main')
>
> thread = threading.Thread(target=sub)
> thread.start()
> thread.join()
>
> assert var.lookup() == 'main'
>
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'
Thanks,
--francis
More information about the Python-Dev
mailing list