J
jasiu85
Hey,
Please take a look at the code of the two threads below:
COMMON_DICT = {}
def thread_1():
global COMMON_DICT
local_dict = prepare_dict()
COMMON_DICT = local_dict
def thread_2():
global COMMON_DICT
local_dict = COMMON_DICT
use_dict(local_dict)
Do I need a lock to protect the COMMON_DICT dictionary? AFAIK bytecode
operations are atomic and in each thread there's only one crucial
bytecode op: STORE_NAME in the first thread and LOAD_NAME in the
second one. So I suspect that everything will work just fine. Am I
right?
Regards,
Mike
Please take a look at the code of the two threads below:
COMMON_DICT = {}
def thread_1():
global COMMON_DICT
local_dict = prepare_dict()
COMMON_DICT = local_dict
def thread_2():
global COMMON_DICT
local_dict = COMMON_DICT
use_dict(local_dict)
Do I need a lock to protect the COMMON_DICT dictionary? AFAIK bytecode
operations are atomic and in each thread there's only one crucial
bytecode op: STORE_NAME in the first thread and LOAD_NAME in the
second one. So I suspect that everything will work just fine. Am I
right?
Regards,
Mike