Hi, sarim
Let us suppose the segment of code seems like the following:
[B]Q1] Can Thread A only execute one of the synchronized methods of this object at one time ?
That is right. Every object of a class has only one lock with a key. When a thread is excuting a sychronized method of a object, that is , the thread owns the only lock, and the other threads have to wait when they want to access the sychronized method or other sychronized methods of the object. But, the thread which is excuting a sychronized method can also access other sychronized methods without being blocked.
CAN OTHER THREADS EXECUTE THE NON-SYNCHRONIZED METHODS OF THIS OBJECT DURING THIS TIME, simulatenously ???
Of course, the thread running can access the non-sychronized methods. the non-syschronized methods can be invoked and called by any thread at any time.
You can try several examples from Khalid Book or RHE Book. By doing that, you can understand thread deep and clearly.
regds
George