1

多线程事务可行吗?

 2 years ago
source link: https://www.v2ex.com/t/812359
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
多线程事务可行吗? - V2EX

V2EX  ›  程序员

多线程事务可行吗?

  kikione · 6 小时 8 分钟前 · 836 次点击

A 线程异常,事务回滚, B 线程,也要回滚。

有什么方案吗

14 条回复    2021-11-02 16:22:55 +08:00

justNoBody

justNoBody   6 小时 1 分钟前

主线程等待子线程处理,然后根据线程返回信息已决定是否回滚事务,你看行不行

wolfie

wolfie   5 小时 54 分钟前

挺麻烦的。
A 等待 B 成功、则 A 执行,A 失败 B 还得回滚。
需要互相通知。

liuxu

liuxu   5 小时 49 分钟前

基于 CSP 模型做事务

kikione

kikione   5 小时 48 分钟前

@wolfie 确实就是麻烦在这

GogoGo666

GogoGo666   5 小时 37 分钟前

@wolfie Golang 能解决,还很简单

0uyangtian

0uyangtian   5 小时 35 分钟前

golang 中的 errgroup 就很简单

wolfie

wolfie   5 小时 34 分钟前

@GogoGo666 #6
给个文章链接看一下

fkdtz

fkdtz   1 小时 57 分钟前

相当于分布式事务的场景映射到单机多线程了,只是网络通信变成了线程间通信,可以参考分布式事务的做法。

fkdtz

fkdtz   1 小时 51 分钟前

@fkdtz 好奇楼主这个做法是出于什么考虑,为何不把事务为放在同一个线程里执行?

haoliang

haoliang   1 小时 2 分钟前

第一时间想到 barrier

kikione

kikione   51 分钟前

@fkdtz 只是为了更快一点

0o0o0o0

0o0o0o0   6 分钟前

直接在主线程里面等待所有线程结束,之后判断是否全部执行成功,成功就全部提交,失败就全部回滚。不可以吗。。。

关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3923 人在线   最高记录 5497   ·  

创意工作者们的社区

World is powered by solitude

VERSION: 3.9.8.5 · 26ms · UTC 08:28 · PVG 16:28 · LAX 01:28 · JFK 04:28
♥ Do have faith in what you're doing.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK