Chinaunix

标题: 最近看视频里讲了个线程锁的例子,讲的不是很好,到最后也不懂,求大神解释一下 [打印本页]

作者: 技术小菜鸟    时间: 2013-09-30 16:03
标题: 最近看视频里讲了个线程锁的例子,讲的不是很好,到最后也不懂,求大神解释一下
本帖最后由 技术小菜鸟 于 2013-09-30 16:03 编辑

public class TT implements Runnable{
        int b = 100;
  public synchronized void m1() throws Exception{
        b = 1000;
        Thread.sleep(5000);
        System.out.println("b = "+ b);
    }

  public synchronized void m2() throws Exception{
        Thread.sleep(2500);
        b = 2000;
    }
  public void run(){
          try{
                  m1();
          }catch(Exception e){
                  e.printStackTrace();
          }
  }
        public static void main(String[] args) throws Exception{
          TT tt = new TT();
          Thread t = new Thread(tt);
          t.start();
          tt.m2();
          System.out.println(tt.b);
        }
}



运行结果是这样的:

F:\java>javac TT.java

F:\java>java TT
1000
b = 1000

这个线程锁真复杂,我是初学者,求大神解释一下具体的实现过程!谢谢!
作者: rover12421    时间: 2013-10-04 14:33
只能说,这个例子真的很烂
你还是找其他书看吧




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2