软件事务内存详解
1. 事务与事务性线程
事务的状态被封装在一个线程本地的 Transaction 对象中,该对象可以处于三种状态之一: ACTIVE (活跃)、 ABORTED (中止)或 COMMITTED (提交)。当创建一个事务时,其默认状态为 ACTIVE 。为了方便处理当前未在事务中执行的线程,定义了一个常量 Transaction.COMMITTED 事务对象。
Transaction 类的代码如下:
public class Transaction {
public enum Status {ABORTED, ACTIVE, COMMITTED};
public static Transaction COMMITTED = new Transaction(Status.COMMITTED);
private final AtomicReference<Status> status;
static ThreadLocal<Transaction> local = new ThreadLocal<Transaction>() {
protected Transaction initialValue() {
return new Transaction(Status.COMMITTED);
超级会员免费看
订阅专栏 解锁全文
6万+

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



