Thanks for the reply. I will certainly have to study the thread topic further.
For example, the locking topic...
Now, the reason the method is not static, is because it also releases and reacquires a lock during this process. This lock is the lock of the thread b object.
I suppose it's a silly question, but when join() calls wait(), I wonder where it is communicated which object's lock is released/reacquired?
I see thread b involved in b.join(), but then I only see a call to wait without a lock object mentioned...
Anyway, I suppose I still lack real understanding of threading, so if my current question is too absurd please don't bother answering it. Anyway, I want to read a book on threads as soon as I'll have time...