笔记_OF_Java并发编程实战

本文探讨了线程锁的重入特性及其在保护共享状态中的作用,同时分析了对象发布与逸出的概念,强调了在对象构造过程中避免this引用逸出的重要性。

2.3.2

重入:由于内置锁是可以重入的,因此如果某个线程试图获取一个自己已经持有的锁那么这个请求就会成功。重入意味着获取锁的操作粒度是线程而不是调用。

2.4:锁来保护状态

对于可能被多个线程同时访问的可变状态变量,在访问它时都需要持有同一个锁在这种情况下。我们称状态变量是有这个锁保护的

3.2:发布与溢出。发布一个对象的意思:使对象能够在当前作用域之外的代码中使用。如,将一个指向该对象的引用保存到其它的代码可以访问的地方,或者在某一个非私有的方法中返回该引用。                                           逸出: 当某个不应该被发布的对象被发布。                                              public static Set<Secret> knownSecrets;                                                public void initialize()   {                                                                                     knownSecrets = new HashSet<Secret>();                                        }                                                                                                                                                                                                                            安全的对象构造过程 :当且仅当对象的构造函数返回时对象才处于可预测的和一致的状态。当从对象的构造函数中发布对象的时候,只是发布了一个尚未构造完成的对象。【如果this引用在构造过程中逸出,那么这种对象就被认为是不正确的构造。】【不要在构造过程让this逸出】             

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值