关于事务并发、线程同步概念问题

本文探讨了事务与多线程的概念,解释了事务保证操作的原子性和一致性,多线程提高执行效率,并讨论了同步解决多线程共享资源导致的数据不一致性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

事务,是并发控制的单位,解决了多个客户端并发方式访问数据库 ,造成的 并发问题。

多线程的好处:开启多个线程是为了同时运行多部分代码。解决了多部分同时运行的问题。

多线程带来的线程安全问题的原因:

1,多个线程在操作共享的数据。


多线程安全问题的解决办法: 同步。

============================================

问题1: 多线程 是否 可以 类比 事务的 多客户端, 数据库中的数据 是否 可以 类比 多线程中的 共享数据, 那 事务 是否可以 类比 多线程中的 同步?

问题2: 事务 是否可以 用 同步的方式 来替代?

问题3:事务,与 多线程 同步 的区别 、联系、相同点、不同点 ?

小弟在学习 多线程和事务的时候,产生了上面这些疑问,小弟 是菜鸟,恳请 大神赐教。



回答
1、事务为保证一个操作的原子性而设置的,一个事务必定包含多个操作,多个操作再逻辑上要保证完整一致,如果中间只要有一个操作失败,那么事务必须回滚,必须回到整个操作的初始状态

2、多线程为了提高应用的执行效率而设置的,多个线程可以做同样的事情或不同的事情,单个线程只能处理1个客户请求,那么多线程就可以同时处理多个请求。每一个线程处理的业务涉及到多个操作,如果有一致性的要求,那么必须介入事务

3、同步是为了解决多线程使用过程中,使用相同资源导致数据不一致而引入的,使用了同步机制,那么多个线程在访问同一资源时,必须等到另一个线程使用完毕,释放了这个资源,其它的线程才有机会使用。

事务和多线程是2个不同层面的术语,2者的应用场景不同,不存在类比的问题


转载自Segmentfault网的用户kikong,感谢万能的网友,解决了我在打基础阶段,困扰多时,却容易忽略的问题




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值