马士兵视频:锁问题
来源:互联网 发布:com域名 编辑:程序博客网 时间:2024/06/16 02:15
(锁问题)当m1执行的过程中,m2能够执行吗?
public class TestLock { int b = 100; public synchronized void m1() throws Exception { b = 1000; Thread.sleep(5000); System.out.println("m1:b = " + b); } public void m2() { System.out.println("m2:b = " + b); }}
[解答]
非加锁的程序可以自由访问加锁程序中的资源,如果把m2也加上锁,就必须m1和m2顺序执行了,中间不会被打断,谁在先,看谁先执行。
public class TestLock implements Runnable{ int b = 100; public synchronized void m1() throws Exception { b = 1000; System.out.println("m1:b = " + b); Thread.sleep(5000); } public synchronized void m2() { b = 2000; try { Thread.sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("m2:b = " + b); } public void run() { try { m1(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String []args) { TestLock tl = new TestLock(); tl.m2(); Thread t = new Thread(tl); t.start(); }}
最后结果是:
m2:b=1000;
m1:b=1000;
2 0
- 马士兵视频:锁问题
- 马士兵 java 视频
- 马士兵视频中的生产者与消费者的经典问题
- Java 马士兵 视频 网址
- 马士兵视频SQL代码
- 马士兵视频PLSQL代码
- 马士兵spring视频笔记
- 马士兵 spring 视频笔记
- 马士兵 Struts2 视频内容
- 自学马士兵spring2.5视频aop时遇到的问题
- 马士兵struts视频中开发者模式无效不刷新的问题。
- struts视频12_尚学堂马士兵_Struts2_Struts2_Path_绝对路径问题
- 马士兵视频笔试题:用一个程序模拟死锁的问题
- 马士兵视频学习第二天总结
- 马士兵视频学习第三天总结
- 马士兵视频学习第四天总结
- 马士兵Java视频第三章总结
- 马士兵struts2视频作者笔记
- LeetCode(2) Add Two Numbers
- Oracle数据库开发笔记 lesson4
- PATB1026:程序计算时间
- spring源码导入eclipse
- ecshop购物车原理
- 马士兵视频:锁问题
- C++primer 第四章
- android alertdialog不能弹出弹窗问题
- [算法]2016.9.4
- java集合类
- Java基础零碎知识
- 第三方登录之QQ登录集成(二)
- 二进制中1的个数——剑指offer
- java异常类处理