0
0 комментариев

Стоит задача организовать переменную состояния, в которую один трэд пишет, другой читает. Господа сишники сразу указали на необходимость существования лока при записи, чтении в переменную состояния. Не поверил. Пробую:

import thread
status = ''
 
def first():
    global status
    mes = ['0000000000','1111111111']
    while 1:
        status = mes[0]
        status = mes[1]
 
def second():
    mes = ['0000000000','1111111111']
    while 1:
        if status not in mes:
            print('Ahtung!!!!!')
 
thread.start_new_thread(first,())
thread.start_new_thread(second,())

До сих пор бежит без конфликтов.
Кто же прав? Разруливает ли эту ситуацию python или модуль thread?
P.S. Естественно, я представляю себе что такое потоки и что подобная проблема должна существовать…


Добавить комментарий