Swift Atomic Uses DispatchQueue to ensure a value is only read from and written to by one thread at a time