3 ms·
I was about to say "that's wrong!" but checked the Wikipedia article on it. [1] Thanks! I learned something today: I always thought it was a bug. [1] https://e
by wiremine 6y ago
I was about to say "that's wrong!" but checked the Wikipedia article on it. [1] Thanks! I learned something today: I always thought it was a bug.
[1] https://en.wikipedia.org/wiki/Race_condition https://en.wikipedia.org/wiki/Race_condition
- MiroF 6y agoI do not think that this is a settled issue in any way- there are quite a few people who do not use race condition to mean what wiki says. Indeed, there is even a debate about this issue in the talk page of wikipedia [https://en.wikipedia.org/wiki/Talk:Race_condition#Race_conditions_between_systems https://en.wikipedia.org/wiki/Talk:Race_condition#Race_condi...]
- chrisseaton 6y agoI didn't link to Wikipedia myself - and I don't know what knowledge these people posting comments have - maybe they know more than I do - but I'd normally refer people to the Encyclopedia of Parallel Computing as the field's authoritative reference. It's written by a large number of experts and edited by an acknowledged leader in the field. https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-09766-4_36 https://link.springer.com/referenceworkentry/10.1007%2F978-0... It says "Race conditions that can cause unintended non-determinacy are programming errors." and provides 23 references to the literature that you can follow for more history on it.
- MiroF 6y agoThat's a good reference and I'll definitely look to that going forward. Worth noting however, that the first article I found in those 23 references that actually used the phrase 'race condition' (in "What are race conditions? Some issues and formalizations") explicitly stated: > However, in the literature, there seems to be little agreement as to precisely what constitutes a race condition. Indeed, two different notions have been used, but the distinction between them has not been previously recognized. Because no consistent terminology has appeared, several terms have been used with different intended meanings... [0] Further, > Data races cause nonatomic execution of critical sections and are failures in (nondeterministic) programs All I'm trying to suggest is that colloquially, people will use this phrase to mean a lot of things, and I'm not sure the literature is entirely clear cut. [0]: https://dl.acm.org/doi/pdf/10.1145/130616.130623 https://dl.acm.org/doi/pdf/10.1145/130616.130623
- chrisseaton 6y ago> Data races... Yes data races are always bugs, according to Padua et al.