Java 中同步语句、异常处理与可达性分析
1. 同步语句(synchronized Statement)
1.1 基本概念
同步语句主要用于为执行线程获取互斥锁,执行一个代码块,然后释放该锁。在执行线程持有锁期间,其他线程无法获取该锁。其语法结构如下:
synchronized ( Expression ) Block
这里, Expression 的类型必须是引用类型,否则会出现编译时错误。
1.2 执行流程
- 首先计算
Expression的值。 - 若
Expression的计算因某种原因突然结束,同步语句也会因相同原因突然结束。 - 若
Expression的值为null,则会抛出NullPointerException。 - 若
Expression的值非空,设为V,执行线程会锁定与V关联的锁,接着执行Block。- 若
Block正常完成,锁会被解锁,同步语句正常完成。 - 若
Block因任何原因突然结束,锁会被解
- 若
超级会员免费看
订阅专栏 解锁全文
73

被折叠的 条评论
为什么被折叠?



