multithreading

synchronized vs Lock Interface.

FeaturesynchronizedLock (ReentrantLock)
FlexibilityLess (Scoped to block)High (Explicit lock/unlock)
TimeoutNoYes (tryLock)
InterruptibleNoYes (lockInterruptibly)
FairnessNoYes (Optional)
Condition VarsOne (wait/notify)Multiple (Condition)
synchronized vs Lock Interface. | DevExCode