condition variable : Java Glossary

condition variable
According to Achim Gratz monitors are insufficient if a thread needs to wait inside a monitor until a condition is met: this thread is inside the monitor and so no other thread can enter and change the condition - a deadlock is the result. Condition variables are used to block a thread inside a monitor (wait()) and allow another thread to enter the monitor. When the condition that has led to the blocking changes this is signalled to blocked threads. Java allows distinction between deblocking a single thread (notify()) and unblocking all threads waiting on the CV (Condition Variable) (notifyAll()). This feature is of dubious value if not accompanied by additional program logic (you don’t have control over which thread of the wait set gets its turn) and beginners are probably best off using notifyAll() only.

CMP homejump to top You can get the freshest copy of this page from: or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror)
http://mindprod.com/jgloss/conditionvariable.html J:\mindprod\jgloss\conditionvariable.html
logofeedback Please email your feedback for publication, letters to the editor, errors, omissions, typos, formatting errors, ambiguities, unclear wording, broken/redirected link reports, suggestions to improve this page or comments to Roedy Green : feedback email If you want your message kept confidential, not considered for posting, please explicitly specify that.
mindprod.com IP:[65.110.21.43]
view BlogYour face IP:[38.107.179.213]
You are visitor number 17,040.