You are perhaps looking for software transactional memory.
https://en.wikipedia.org/wiki/Software_transactional_memory