JAVA并发理解
2025-09-20 17:24:44 0 举报
主要是对事务的隔离的级别、数据库层面锁、应用层面锁以及并发线程的状态
作者其他创作
大纲/内容
LOCK
写
数据库行锁
TD写
TC写
读跟写是并行的,但是因为数据库的隔离级别,在读未提交下会产生脏读,在读已提交下会产生不可重复读,在可重复读下会产生幻读在读已提交的情况下,快照是在每条SQL语句执行时生成的。所以如果读SQL执行时写操作还没提交,读到的就是旧数据。在可重复读的情况下,快照是在事务开始时生成的。所以无论之后其他事务如何修改并提交,本事务内读到的都是同一个快照里的旧数据。
隔 | 离
SQL
TA读
TD/TC
TA
数据行
TB写
事务A
LOCK可以是直接作用在整个方法也可以细化粒度,对要修改数据行进行加锁(并发优化)
同一事务能直接读到改变的值
并发理解在对同一数据操作的前提下
事务B
JVM1
不同事务的结果
JVM2
TB
读
事务C
TB/TC/TD

收藏
0 条评论
下一页