4.对象的组合

本文详细介绍了设计线程安全类的方法,包括收集同步需求、依赖状态操作及状态所有权等概念。探讨了实例封闭、Java监视器模式的应用,并通过车辆追踪案例进行说明。此外,还讨论了如何在现有线程安全类中添加新功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.设计线程安全的类

1.1收集同步需求

1.2依赖状态的操作

1.3状态的所有权

2.实例封闭

2.1Java监视器模式

2.2示例(车辆追踪)

3.线程安全性的委托

3.1示例:基于委托的车辆追踪

3.2独立的状态变量

3.3委托失效

3.4发布底层的状态变量

3.5示例:发布状态的车辆追踪器

4.在现有线程安全类中添加功能

4.1客户端加锁机制

4.2组合(装饰模式)



1.设计线程安全的类

1.1收集同步需求

1.2依赖状态的操作

1.3状态的所有权

没看懂

  • 这节总结

不可变条件:例如某个用于计数的long类型不能为负值

后验条件:下一个状态需要依赖当前状态,这个操作必须是复合操作。

先验条件:例如:不能从空队列移除一个元素

状态的所有权

 

2.实例封闭

通过封闭与加锁机制使set线程安全。

 

2.1Java监视器模式

把对象所有可变状态封装起来,并有对象自己的内置锁保护

2.2示例(车辆追踪)

 

3.线程安全性的委托

3.1示例:基于委托的车辆追踪

 

 

3.2独立的状态变量

3.3委托失效

3.4发布底层的状态变量

3.5示例:发布状态的车辆追踪器

https://blog.youkuaiyun.com/zhang284021445/article/details/84902477

 

4.在现有线程安全类中添加功能

扩展类机制

4.1客户端加锁机制

4.2组合(装饰模式)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值