42、并发控制与事务管理的实现

并发控制与事务管理的实现

1. 并发控制相关

在多系统中使用具有不同并发特性和需求的类时,可使用ADPP的桥接参与变体来解决问题。以库存服务缓存实现类为例,可使用如下方面为类提供所需注解:

package ajia.service.impl;
import ...
public aspect InventoryReadWriteLockParticipation {
    declare @type: InventoryServiceCachedImpl: @ReadWriteLockManaged;
}

若要为其他类提供线程安全访问,可修改声明或添加额外方面来为这些类提供注解,比如使用类型模式将一组类声明为读写锁并发控制的参与者。

AOP(面向切面编程)在并发控制方面表现出色。传统并发控制解决方案往往需要进行系统级的侵入式更改,导致少数线程安全模式的概念可重用性在传统实现中丧失。而AOP通过将模式模块化到可重用的方面,填补了概念与实现之间的差距。

例如,Swing的单线程规则对组件开发者来说很简单,但在多线程UI应用中使用这些组件时,通常需要进行系统级更改。通过采用可重用的方面,遵循Swing的线程安全规则就像扩展该方面并提供一些切入点定义一样简单。使用AspectJ,能获得一个简单的线程安全模型,而不会因复杂的使用方式而增加负担。

同样,引入封装读写锁模式的可重用方面后,实现线程安全的这一特性就像添加几个简单方面并使用注解标记程序元素一样容易。开发者无需每次都去深入研究模式的具体工作原理,只需知道哪些方法以只读方式访问状态,哪些方法会更改状

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值