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

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

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

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

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


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

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

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

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

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

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



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

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

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

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


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




你可能感兴趣的:(日常疏漏)