I found an implementation of spinlock in concurrency.d.
```
static shared struct SpinLock
{
void lock() { while (!cas(&locked, false, true)) { Thread.yield(); } } void unlock() { atomicStore!(MemoryOrder.rel)(locked, false); }
    bool locked;
}
```
Why atomicStore use MemoryOrder.rel instead of MemoryOrder.raw?

Reply via email to