Java并发编程4.2-实例限制

来源:互联网 发布:约瑟夫环用到的算法 编辑:程序博客网 时间:2024/04/27 15:47

1. 实例限制 

封装了类的线程安全化工作,这 通常 称为“限制”

良好实践:将数据封装在对象内部,把对数据的访问限制在对象的方法上,更易确保线程在访问数据时总能获得正确的锁。把限制与各种适当的锁策略相结合,可以确保程序以线程安全的方式使用其他非线程安全对象。

 

法则:限制性使构造线程安全的类变得更容易,因为类的状态被限制后,分析它的线程安全性时,就不必检查完整的程序。。(被限制对象一定不能逸出到它的期望可用范围之外,当然这需要程序员的努力。)

 

 

2.Java监视器模式

3.机动车追踪器

 

Java并发编程4.3-委托线程将安全

1.委托线程安全。一个类的线程安全,委托给了线程安全的属性,这就叫做委托线程安全。

2.(非状态依赖变量。)讲的是线程安全委托到多个隐含的状态变量上,只要这些变量是彼此独立的。

3.法则:如果一个类由多个彼此独立的线程安全的状态变量组成,并且类的操作不包含任何无效的状态转换时,可以将线程安全委托给这些状态变量。

4.(发布底层的状态变量)如果一个状态变量是线程安全的,没有任何不变约束限制它的值,并且没有任何状态转换限制它的操作,那么它可以被安全发布。

 

0 0
原创粉丝点击