线程?对象锁?这个面试题有点意思。
2017-11-12 18:06
190 查看
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(); } } }
先出个题,给大家一点点的思考时间。
为啥我双十一还来写博客?汪汪汪!为啥我双十一还不购物? 真的不是因为穷!!!!!
相关文章推荐
- 疑问线程对象Thread启动之后,没有任何引用引用这个Thread对象,是否会被GC回收掉
- 面试题_1.线程2.实例化内部类对象
- 【Java面试题】26 多线程有几种实现方法?同步有几种实现方法? 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
- 面试题:1,进程和线程的区别?什么时候用进程?什么时候用线程?为什么你的项目中用的是线程?为什么不用进程?如果只有进程,对你这个项目有没有影响?
- java面试题解惑:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
- java面试题:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
- 【面向对象程序设计常见面试题】对类的成员的访问属性有什么?(11)
- 面试题:元素为32位整数的数组中只有一个数字出现2次,其余都是出现3次,求这个数
- 从面试题看问题之线程篇(一)
- 求解,多线程时,线程池中一个线程内部代码抛出异常,那么这个线程能正常结束么?
- JAVA面试题,关于线程循环
- ThreadLocal --每个线程拥有自己独立的对象
- 当JNI遇到多线程--java对象如何被C++中的多个线程访问?
- Java线程面试题
- CAsyncSocket对象不能跨线程之分析
- Java面试宝典系列之基础面试题String、变量、类与对象、集合类、SSH
- 常见Java面试题 – 第一部分:非可变性(Immutability)和对象引用(Object reference)
- [Windows Forms] : 跨线程控制WinForm窗体对象
- 当一个线程进入一个对象的一个synchronized()方法后,其他线程是否可进入此对象的其他方法?
- 关于对象模型的几个面试题(很基础,但坑较多)