当一个线程进入一个对象的synchronized()方法后,其他线程是否可以进入此对象的其他方法取决于方法本身,如果该方法是非synchronized()方法,那么是可以访问的,如果是synchronized()方法,那么不能访问。示例如下:
package synchLockTest;
class Test{
public synchronized void synchronizedMethod(){
System.out.println("begin calling sychronizedMethod...");
try{
Thread.sleep(10000);
}catch(InterruptedException e){
e.printStackTrace();
}
System.out.println("finish calling sychronizedMethod...");
}
public void generalMethod(){
System.out.println("call generalMethod...");
}
}
public class MultiThread {
static final Test t=new Test();
public static void main(String[] args) {
Thread t1=new Thread(){
public