Вниз
Скачать: CL | DM;

3 потока и одна переменная   Найти похожие ветки 

← →
maksim   (2011-05-15 11:44) [0]

есть 3 потока и 1 общая переменная
один поток может изменять значение этой переменной, а 2 других потока не могут менять ее значение, только читают.
Вопрос: нужна ли тут критическая секция?


← →
sniknik ©   (2011-05-15 11:53) [1]

зависит от типа переменной. или от правил (ну вот взять себе за правило, что она всегда нужна при обращении из разных потоков...)


← →
maksim   (2011-05-15 12:06) [2]

тип интеже, назовем N

вот в одном потоке допустим при каком-то условии увеличиваем N в 2 раза

в двух других потоках используем эту переменную как входную для какой-то функции f(N), то есть этими двумя потоками переменная N не может меняться


← →
Юрий Зотов ©   (2011-05-15 13:38) [3]


> maksim   (15.05.11 12:06) [2]

Зависит от задачи. Если читающим потокам все равно, какое значение N они получат, то синхронизация не нужна. А если читающий поток всегда должен получать строго новое значение N (то есть, строго ПОСЛЕ того, как его установит пишущий поток), то синхронизация нужна.


← →
maksim   (2011-05-15 14:59) [4]

ага, вроде понятно, спасибо за ответы


← →
sniknik ©   (2011-05-15 15:00) [5]

> какое значение N они получат
либо старое, либо новое,
смена значения у интеждера же атомарная, т.е. он его не побайтно меняет, с  возможностью прервать операцию на обработку потоком. нет?

> А если читающий поток всегда должен получать строго новое значение N
ну, в этом случае, если строго новое, я бы тоже без синхронизации обошелся...  просто бы посылал потоку новое значение при его смене.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.006 c
2-1305361001
САМЫ ЧЭСНЫ
2011-05-14 12:16
2011.08.28
цвет Disabled


1-1264839776
kudatsky
2010-01-30 11:22
2011.08.28
Как скопировать слово из одного TMemo в другой ?


15-1304886593
Юрий
2011-05-09 00:29
2011.08.28
С днем рождения ! 9 мая 2011 понедельник


2-1305568293
volkafff
2011-05-16 21:51
2011.08.28
Классы


15-1304354356
@!!ex
2011-05-02 20:39
2011.08.28
Как влияет Range check на работу результирующего кода?




   Наверх