-
- Определение атомарности я дал выше. Если вы с ним не согласны, то с этого и надо начинать. Приведенная функция, что характерно, не атомарна и обходится без критической секции. У нее множество недостатков, но в C89 "маемо що маемо". - LightElf(21.11.2015 13:02)
- Ещё раз: почитайте по ссылкам Буденновца. Способов достижения атомарности немало. - Олдфаг(21.11.2015 13:12,
)
- Ещё раз: почитайте по ссылкам Буденновца. Способов достижения атомарности немало. - Олдфаг(21.11.2015 13:12,
- Что-то я не догоняю. А где гарантия, что два раза считается правильно? fk0(471 знак., 21.11.2015 13:00)
- Нет, там для таймеров порядок считывания был H1,L1, потом повторно H2 и проверка H1==H2, после чего либо годно либо начать чтение сначала. - Олдфаг(21.11.2015 13:10,
)
- Ну это только для таймеров годится. - fk0(21.11.2015 13:20)
- Ну дык я сразу и сказал. Для таймеров и программных многобайтных счетчиков, которые инкрементираются в прерывании. - Олдфаг(21.11.2015 13:26,
)
- Ну дык я сразу и сказал. Для таймеров и программных многобайтных счетчиков, которые инкрементираются в прерывании. - Олдфаг(21.11.2015 13:26,
- Ну это только для таймеров годится. - fk0(21.11.2015 13:20)
- Уел :) Ессно есть некоторые допущения по частоте следования этих прерываний. Иначе функа может поломаться несколькими способами, как вариант она может никогда не завершиться. Я с ее помощью читаю счетчик таймаута, который из прерывания LightElf(18 знак., 21.11.2015 13:08)
- Нет, там для таймеров порядок считывания был H1,L1, потом повторно H2 и проверка H1==H2, после чего либо годно либо начать чтение сначала. - Олдфаг(21.11.2015 13:10,
- Определение атомарности я дал выше. Если вы с ним не согласны, то с этого и надо начинать. Приведенная функция, что характерно, не атомарна и обходится без критической секции. У нее множество недостатков, но в C89 "маемо що маемо". - LightElf(21.11.2015 13:02)