A data race occurs when two threads access the same variable concurrently and at least one of the accesses is a write. 

<https://isocpp.org/wiki/faq/cpp11-language-concurrency>

```
// start with x==0 and y==0
if (x) y = 1;   // Thread 1 
if (y) x = 1;   // Thread 2 

```

> 
> Is there a problem here? More precisely, is there a data race? (No
>  there isn’t).
> 
> 
> 

Why does the original article claim that there is no data race here?