线程?对象锁?这个面试题有点意思。

来源:互联网 发布:led彩屏控制软件 编辑:程序博客网 时间:2024/06/05 05:57

java多线程编程—经典面试题解析

今天偶然刷到一道面试题,一道看代码在脑子里执行的题目,(java大神就不要来嘲讽了)~_~ 唉反正博客也就自己看。。。
题目涉及到的重点:

  • java多线程
  • synchronized关键字
  • 对象锁

依旧是话不多说,show U the code:

public class Sync implements Runnable {    int i=100;    synchronized void m1() throws InterruptedException{        i=1000;        Thread.sleep(500);//6        System.out.println("b="+i);    }    synchronized void m2() throws InterruptedException{        Thread.sleep(250);//5        i=2000;    }    public static void main(String[] args)throws Exception {        Sync sync=new Sync();        Thread t=new Thread(sync);//1        t.start();//2        sync.m2();//3        System.out.println("main thread b="+sync.i);//4    }    @Override    public void run() {        try {            m1();        }catch (Exception e){            e.printStackTrace();        }    }}

先出个题,给大家一点点的思考时间。

为啥我双十一还来写博客?汪汪汪!为啥我双十一还不购物? 真的不是因为穷!!!!!