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 _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com