A race condition occurs when the result of a program depends on the unpredictable timing of threads that share mutable data. The textbook case is count++ on a shared field. It looks like one step, but it is three: read count, add one, write it back. If two threads read the same value before either writes, both write the same new value and one increment is lost. Run a million increments on two threads and the total is usually less than two million.
Keep reading for free
Create a free StudyToCert account to read the rest of this lesson: 6 more sections, 5 key terms, a real-world example, an exam tip and self-check questions. Every lesson, lab and practice test is free with an account.