Re[2]: Реализация критической секции на Interlocked.Exchange
От: nikov США http://www.linkedin.com/in/nikov
Дата: 16.06.08 13:37
Оценка: +1
Здравствуйте, Were, Вы писали:

W>Не правильный. Комбинирование атомарных и неатомарных операций над одной переменной недопустимо. Контекст может переключиться во время выполнения flag = 0;.


По стандарту C#, присваивания переменным ссылочных и коротких примитивных типов есть атомарная операция:

5.5 Atomicity of variable references
Reads and writes of the following data types are atomic: bool, char, byte, sbyte, short, ushort, uint, int, float, and reference types. In addition, reads and writes of enum types with an underlying type in the previous list are also atomic.

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.