> -- Mirage писал(а):
> Эт если инструкции из защищенной секции не будут перемещен CPU еще дальше
А если я сделаю присваивание flag = 0 в отдельной процедуре Exit:
## Код:
```
MySpinlockCriticalSection.Enter;
...
a := b;
MySpinlockCriticalSection.Exit;
```

неужели процессор на столько может обнаглеть, что выполнит сначала MySpinlockCriticalSection.Exit; а потом a := b? Всё-таки вызов процедуры...