I found this article, but it looks wrong because Cell does not guarantee a synchronization between the set() under a lock and the get() over the lock.
Does Atomic_.store(true, Ordering::Release) affect other non-atomic write operations?
I tried to write it with AtomicPtr which looks close to Java-style but it failed. I couldn't find examples of the correct using of AtomicPtr in such cases.