java锁的面试题

另外的的线程完全可以访问没有锁定的方法,例如在一个线程中将某个方法锁定,但是我们仍可以通过

其他的线程,得到该线程中“变量的改变之后的值”。


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();
	}
}



你可能感兴趣的:(JAVA)