Condition factors out the Object monitor methods (wait, notify and notifyAll) into distinct objects to give the effect of having multiple wait-sets per object, by combining them with the use of arbitrary Lock implementations. Where a Lock replaces the use of synchronized methods and statements, a Condition replaces the use of the Object monitor methods.
Stack [using arraylist] using Lock and Condition
Queue Consumer using Lock and Condition
Producer Consumer using Lock and Condition
Producer Consumer using Lock and Condition
EmoticonEmoticon