Thanks for clarifying. Is C4 also unsafe? I would have thought it would avoid any races to store
(thread sanitizer doesn't seem to report anything for that case either but I must be missing something). Unless the race is with the call to queue.sync
itself...
What is the recommended synchronization approach for reading/writing properties across threads? I realize there are many options here and the optimal choice is likely to be context specific but I'm curious to hear people's perspectives. Should Swift Atomics be considered (for supported types) or should developers generally be sticking with DispatchQueues?