多线程事务可行吗? - V2EX
Home
Sign Up
Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
V2EX
程序员
多线程事务可行吗?
kikione
Nov 2, 2021
3223 views
This topic created in 1668 days ago, the information mentioned may be changed or developed.
A 线程异常,事务回滚, B 线程,也要回滚。
有什么方案吗
线程
事务
可行
异常
15 replies
2021-11-03 07:27:22 +08:00
1
justNoBody
Nov 2, 2021
主线程等待子线程处理,然后根据线程返回信息已决定是否回滚事务,你看行不行
2
kikione
OP
Nov 2, 2021
@
justNoBody
我觉得可行的
/table>
3
wolfie
Nov 2, 2021
挺麻烦的。
A 等待 B 成功、则 A 执行,A 失败 B 还得回滚。
需要互相通知。
4
liuxu
Nov 2, 2021
基于 CSP 模型做事务
5
kikione
OP
Nov 2, 2021
@
wolfie
确实就是麻烦在这
6
GogoGo666
Nov 2, 2021
@
wolfie
Golang 能解决,还很简单
7
0uyangtian
Nov 2, 2021
golang 中的 errgroup 就很简单
8
wolfie
Nov 2, 2021
@
GogoGo666
#6
给个文章链接看一下
9
zjsxwc
Nov 2, 2021
反正 redis 一个事务对象在多个 goroutine 中共用是不安全的,得加锁
https://github.com/go-redis/redis/issues/111
10
fkdtz
Nov 2, 2021
相当于分布式事务的场景映射到单机多线程了,只是网络通信变成了线程间通信,可以参考分布式事务的做法。
11
fkdtz
Nov 2, 2021
@
fkdtz
好奇楼主这个做法是出于什么考虑,为何不把事务为放在同一个线程里执行?
12
haoliang
Nov 2, 2021
第一时间想到 barrier
13
kikione
OP
Nov 2, 2021
@
fkdtz
只是为了更快一点
14
0o0o0o0
Nov 2, 2021
直接在主线程里面等待所有线程结束,之后判断是否全部执行成功,成功就全部提交,失败就全部回滚。不可以吗。。。
15
xuanbg
Nov 3, 2021
@
0o0o0o0
可以是可以的,但怎么回滚呢?怕是只能自己写回滚的代码,很麻烦。所以要么不要多线程,要么上分布式事务组件。
About
Help
Advertise
Blog
API
FAQ
Solana
3160 Online
Highest 6679
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 58ms
UTC 12:37
PVG 20:37
LAX 05:37
JFK 08:37
Do have faith in what you're doing.
ubao
msn
snddm
index
pchome
yahoo
rakuten
mypaper
meadowduck
bidyahoo
youbao
zxmzxm
asda
bnvcg
cvbfg
dfscv
mmhjk
xxddc
yybgb
zznbn
ccubao
uaitu
acv
GXCV
ET
GDG
YH
FG
BCVB
FJFH
CBRE
CBC
GDG
ET54
WRWR
RWER
WREW
WRWER
RWER
SDG
EW
SF
DSFSF
fbbs
ubao
fhd
dfg
ewr
dg
df
ewwr
ewwr
et
ruyut
utut
dfg
fgd
gdfgt
etg
dfgt
dfgd
ert4
gd
fgg
wr
235
wer3
we
vsdf
sdf
gdf
ert
xcv
sdf
rwer
hfd
dfg
cvb
rwf
afb
dfh
jgh
bmn
lgh
rty
gfds
cxv
xcv
xcs
vdas
fdf
fgd
cv
sdf
tert
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
shasha9178
shasha9178
shasha9178
shasha9178
shasha9178
liflif2
liflif2
liflif2
liflif2
liflif2
liblib3
liblib3
liblib3
liblib3
liblib3
zhazha444
zhazha444
zhazha444
zhazha444
zhazha444
dende5
dende
denden
denden2
denden21
fenfen9
fenf619
fen619
fenfe9
fe619
sdf
sdf
sdf
sdf
sdf
zhazh90
zhazh0
zhaa50
zha90
zh590
zho
zhoz
zhozh
zhozho
zhozho2
lislis
lls95
lili95
lils5
liss9
sdf0ty987
sdft876
sdft9876
sdf09876
sd0t9876
sdf0ty98
sdf0976
sdf0ty986
sdf0ty96
sdf0t76
sdf0876
df0ty98
sf0t876
sd0ty76
sdy76
sdf76
sdf0t76
sdf0ty9
sdf0ty98
sdf0ty987
sdf0ty98
sdf6676
sdf876
sd876
sd876
sdf6
sdf6
sdf9876
sdf0t
sdf06
sdf0ty9776
sdf0ty9776
sdf0ty76
sdf8876
sdf0t
sd6
sdf06
s688876
sd688
sdf86