Re: Нужны ли тут кртические секции?
От: acDev Россия  
Дата: 27.10.11 10:09
Оценка: +1 -1
Здравствуйте, CFA, Вы писали:

CFA>Есть многопоточное приложение. Под windows на delphi, но думаю это не важно.

CFA>Есть ряд глобальных переменных которые могут читать/менять вспомогательные потоки, основной поток их только читает.
CFA>Со сложными переменными вроде массивов, записей, объектов все понятно, и критические секции решительно нужны.
CFA>А переменные простых типов — Integer/Word/Byte/etc — нужно ли оборачивать их чтение во вход/выход из КС?

Если изменяемое значение является счётчиком (или подобным), то без Interlocked* функций не обойтись!
А если у вас просто флаговое предназначение "слова", то достаточно просто выровнять "слово" на 4 байт, что бы обеспечить атомарность.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.