Hello question about copy vs deepcopy used in multithreaded context:
suppose the following program below: the original dictionary is modified after the thread is started, the thread works on a copied and deepcopied version of the original dictionary. Is the dictionary named "originalcopy" isolated from changes in original in multithreaded context? The program reports no errors but I want to be really sure about this Thanks Carl. <snip> original = {} originalcopy = {} originaldeepcopy = {} class checker(threading.Thread): def __init__(self): threading.Thread.__init__(self) pass def run(self): while True: for i in originaldeepcopy: if originalcopy[i] == originaldeepcopy[i]: pass else: print "error", originalcopy[i], "Not equal to", originaldeepcopy[i] i = 0 while i<1000: original[i] = i i = i + 1 originalcopy = copy.copy(original) originaldeepcopy = copy.deepcopy(original) test = checker() test.start() time.sleep(0.5) while True: i = 0 while i<1000: original[i] = i*2 i = i + 1
-- http://mail.python.org/mailman/listinfo/python-list