Koziołek napisał(a)
I tu nie jestem pewien czy to tak zadziała:
Dokumentacja 1.6 napisał(a)
Note that the wait method, as it places the current thread into the wait set for this object, unlocks only this object; any other objects on which the current thread may be synchronized remain locked while the thread waits.
Teoretycznie powinien zwolnić, ale chyba tego nie zrobi.
Musi.. musi się dać zrobić notify() - kiedy inne wątek stoi przy wait(), a do tego trzeba wejść w blok synchronizowany
kiedys zaobserwowalem to tak:
watek 1 wchodzi w blok synchronizowany
watek 2 musi czekac
watek 1 robi wait(100); // przez co jakby zwalnia blokade
watek 2 wchodzi w blok synchronizowany
watek 2 robi wait(ilestam); // tez zdejmuje blokade
Oczywiście kiedy skończą czekać, znowu nakładają blokadę - tak samo jak przy wchodzeniu w blok synchronizowany, kto pierwszy ten lepszy.