Originally posted by CornedBee
Methadone Boy's long post is not entirely correct. Synchronization doesn't have anything to do with classes, just with threads. No more than one thread can call a synchronized function or execute a synchronized block at any time, the other threads have to wait.
Apologies, I should have made that clearer. I did actually mean that Class A and Class B are both Thread classes and Class C is a monitor object being shared by both.