A 线程异常,事务回滚, B 线程,也要回滚。
有什么方案吗
1
justNoBody 2021-11-02 10:27:42 +08:00
主线程等待子线程处理,然后根据线程返回信息已决定是否回滚事务,你看行不行
|
2
kikione OP @justNoBody 我觉得可行的
|
3
wolfie 2021-11-02 10:34:01 +08:00
挺麻烦的。
A 等待 B 成功、则 A 执行,A 失败 B 还得回滚。 需要互相通知。 |
4
liuxu 2021-11-02 10:39:20 +08:00
基于 CSP 模型做事务
|
7
0uyangtian 2021-11-02 10:53:34 +08:00
golang 中的 errgroup 就很简单
|
9
zjsxwc 2021-11-02 11:09:22 +08:00
|
10
fkdtz 2021-11-02 14:31:29 +08:00
相当于分布式事务的场景映射到单机多线程了,只是网络通信变成了线程间通信,可以参考分布式事务的做法。
|
12
haoliang 2021-11-02 15:26:44 +08:00
第一时间想到 barrier
|
14
0o0o0o0 2021-11-02 16:22:55 +08:00
直接在主线程里面等待所有线程结束,之后判断是否全部执行成功,成功就全部提交,失败就全部回滚。不可以吗。。。
|