另外的的线程完全可以访问没有锁定的方法,例如在一个线程中将某个方法锁定,但是我们仍可以通过
其他的线程,得到该线程中“变量的改变之后的值”。
import java.io.*;
import java.lang.*;
import java.util.*;
public class hehe implements Runnable{
public int b = 100;
public synchronized void m1()throws Exception{
b = 1000;
Thread.sleep(2000);
System.out.println(b);
}
public void m2(){
System.out.println(b);
}
public void run(){
try{
m1();
}catch(Exception e){
return ;
}
}
public static void main(String[] args)throws Exception{
hehe t = new hehe();
Thread rr = new Thread(t);
rr.start();
Thread.sleep(2000);
t.m2();
}
}