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

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

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

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

  •  湖北倍领科技 java中什么是事物

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

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

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

  •  深空见闻 java插入数据库返回成功标识但是数据库没有数据

    综上所述,针对Java插入数据库返回成功标识但数据库没有数据的问题,可以从数据过多、事务未提交和JDBC配置文件错误等方面进行检查和排查。如果问题仍然存在,建议进一步排查代码和数据库配置,或者咨询专业的技术人员以获取更详细的帮助和支持。

  •  翡希信息咨询 编程「锁」事|详解乐观锁 CAS 的技术原理

    编程「锁」事|详解乐观锁 CAS 的技术原理CAS(Compare And Swap)技术原理 CAS,全称 Compare And Swap(比较与交换),是一种用于在多线程环境下实现同步功能的机制。它能够在不使用锁(没有线程被阻塞)的情况下实现多线程之间的变量同步。java.util.concurrent 包中的原子类就是通过 CAS 来实现了...

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

Java相关话题

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