StudyToCert

All certifications / OCP Java / Lessons

Oracle Certified Professional: Java SE Developer 1Z0-831 (Java SE 25) · Domain 8: Managing concurrent code execution

Race conditions, synchronized blocks and methods, and visibility

▶ Watch the overview video

Last reviewed September 25, 2026 · Leer en español

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.

Free account

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.

Sign up free Log in

Study OCP Java for free
A week-by-week plan with every lesson, quizzes, checkpoint tests, a practice exam and hands-on labs.
Open the OCP Java study plan