Вниз
Скачать: 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.004 c
15-1304972992
Юрий
2011-05-10 00:29
2011.08.28
С днем рождения ! 10 мая 2011 вторник


3-1262553825
wipr
2010-01-04 00:23
2011.08.28
отмена удаления в таблицах DBF


1-1264840745
Igorishe
2010-01-30 11:39
2011.08.28
Изменить цвет Caption в TTabSheet


2-1305552149
Соня
2011-05-16 17:22
2011.08.28
Запросы в ADODataSet


15-1304785332
TUser
2011-05-07 20:22
2011.08.28
delphi for html/javascript ?




   Наверх