# 多线程事务控制 **Repository Path**: viper8/TransactionManager ## Basic Information - **Project Name**: 多线程事务控制 - **Description**: 一个多线程事务控制的工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-04-22 - **Last Updated**: 2023-04-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 多线程事务控制 #### 介绍 一个多线程事务控制的工具 现在只实现了Runnable 版本的,没有办法获取线程返回值 实现类在Utils包中,将来会将其设计成接口化 #### 原理 使用了CountDownLatch + 编程式事务 架构。 实例化两个CountDownLatch 对象,一个标明子线程运行完成,另一个标明下一步操作。 当子线程完成增删改后,调用await方法由主线程控制下一步操作。主线程调用countDown,激活子线程,子线程判断变量isCommit 是否为真,真则提交,假则回滚。 说白了就是模仿2PC 设计模式开发。