Re[3]: Синхронизация потоков с помощью выборочного блокирова
От: Skipper_N  
Дата: 07.08.08 09:30
Оценка:
И еще... По видимому, даже InterlockedAnd, InterlockedOr не спасут от такой проблемы. Ведь, InterlockedAnd гарантирует вроде, только, что операция "чтения + AND + присваивание" выполнятся без переключения потоков. Ну выполнились и что? Если значение в кэше процессора и второй поток выполняется на другом процессоре, то он не увидит изменений, и затрет изменения 1-го потока. Вообще непонятно, как синхронизировать потоки на многопроцессорных машинах, если не запрещать кэшировать в CPU общие для потоков участки памяти.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.