Updated comments; memory writes and memory reads should be atomic operations; for pedagogical clarity, and for simpler, cleaner code. Performance impact shouldn't be too notieceable.