Somebody, please elaborate on the dangers alluded to by the manual in section “Data-race freedom”
Julia is not memory safe in the presence of a data race. Be very careful about reading any data if another thread might write to it!
There are parallel algorithms that are not affected by a data race where one thread is updating a value in an array, and many threads are reading it. If some readers miss the fresh value and instead read the stale one, they will read a newer value at the next iteration. On the contrary, fewer synchronizations might be needed without affecting convergence (increasing the number of iterations) too dramatically.