java事务和锁的问题,如果事务没提交,其他线程能修改数据库中的同条数据吗

题主,你说的这种情况是允许出现的。这与事务的隔离程度有关。如果事务隔离程度设置得当,就没有必要显式的通过synchronized保护资源(除非资源是某个service中的公共属性)。看
java事务和锁的问题,如果事务没提交,其他线程能修改数据库中的同条数据吗
题主,你说的这种情况是允许出现的。这与事务的隔离程度有关。

如果事务隔离程度设置得当,就没有必要显式的通过synchronized保护资源(除非资源是某个service中的公共属性)。2014-12-26
看情况,一般多线程的话,最好加上同步锁,不然得到的就是脏数据了。经过多次修改的数据,
加了同步之后,程序会先运行一条线程,走完之后提交。事务其实就是为了保证数据的一致性。比如你多个线程一起修改同一条数据,一个方法成功了,另一个失败了。那么,结果就是修改失败,
要成功一起成功才行。2014-12-26
mengvlog 阅读 10 次 更新于 2025-07-19 12:56:16 我来答关注问题0
  •  翡希信息咨询 为什么Java程序在并发的情况下数据库会出现重复记录

    Java程序在并发的情况下数据库会出现重复记录,主要是因为并发控制不当导致的数据竞争和数据不一致问题。具体原因如下:数据锁粒度不足:在并发环境下,如果数据库的锁粒度没有设计到行级锁,而是使用了更粗粒度的锁,就可能导致多个线程或进程同时访问并更新同一条记录。例如,当两个事务几乎同时读取到同...

  •  翡希信息咨询 java中什么是事物

    事务是数据库操作中的一个重要概念,它确保了数据库操作的完整性和一致性。具体来说:定义:事务提供了一种机制,使得一组相关的数据库操作作为一个单一的工作单元进行执行。作用:如果事务中的任何操作失败,整个事务将被回滚,恢复到事务开始前的状态,确保数据的一致性不受破坏。示例:以银行转账为例,...

  •  安徽新华电脑专修学院 JAVA JDBC事务提交的疑问。

    这个不是启动事务,而是设置事务是否自动提交,默认是自动提交,如果要手动控的话,写成conn.setAutoCommit(false);if(rs.next){ >>> ...执行更新 conn.commit();} 这个也不对,RS不可能执更新操作。只能是查询。如果你进行了锁表操作,那么如果没有commit()或rollbak()方法,是不会进行解锁操作...

  • 约定20125 Java分布式系统处理分布式事务有哪些经典解决方

    当然,如果你可以容忍数据丢掉的话,你可以马上让Slave代替Master工作(对于只负责计算的节点来说,没有数据一致性和数据丢失的问题,Master-Slave的方式就可以解决单点问题了) 当然,Master Slave也可以是强一致性的, 比如:当我们写Master的时候,Master负责先写自己,等成功后,再写Slave,两者都成功后...

  •  文暄生活科普 Java数据库操作常识:事务的四大特性

    隔离性是指在并发操作中,事务之间的数据访问是相互隔离的。多个事务同时执行时,每个事务看到的数据库状态应与实际情况一致,不受其他事务的影响。这通过使用锁机制实现,确保数据的一致性和正确性。持久性指的是事务提交后,所做的修改将永久保存在数据库中。即使在事务提交后数据库发生故障,这些修改也...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部