QAtomicInt
if (dst.testAndSetOrdered(cur, val)) return !cnt->mActiveReaders; // enable write if there are no active readers
if (!BeginWrite(data->mCount)) writeSemaphore.acquire();// write data content theMem.lock();