软件事务内存(Software Transactional Memory)详细解析
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(Stat
软件事务内存(STM)详细解析
超级会员免费看
订阅专栏 解锁全文
82

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



