事物再次深刻理解
##msyql事务
1.mysql:传统理解 mysql 中的一次操作过程(sql 执行)是一次事务。
2.mysql:那么多个线程 同时操作 mysql 中的数据(同一条数据,一个范围内数据)就叫并发事务。
3.mysql:数据库层面使用不同的事务隔离级别来进行并发事务的控制,不同的隔离级别是因为数据库中内部锁机制的使用方式不同,例如有的是在select完成之后立马释放锁,有的是在整个事务commit 之后释放锁 。
--------------------------------------------------------------------------------------------------------------
##应用层事务
1.应用:其实每一个线程调用服务本质上也是事务。
2.应用:多个线程同时调用服务,叫并发调用服务,也可以叫并发事务。
3.应用:应用层应对并发事务(访问)解决方案有同步(悲观锁)、乐观锁(无锁CAS)。我们对并发访问做系统应用层控制也会使用到锁。
个人理解这就是事务的本质。事务不应该只仅限于数据库。