-
本地事务、
查看全部 -
Quartz简介
查看全部 -
ThreadLocal模型
查看全部 -
竞争条件和临界区
查看全部 -
场景4,分布式计算
查看全部 -
场景3,线程安全
查看全部 -
场景2,线程资源一致性
查看全部 -
场景1,线程资源持有
查看全部 -
线程资源一致性(取自JDBC):
如图所示,请求响应虚线框中Part1、 PartN代表你的一个会话中的N个程序都要去完成一些事情,他们整体串起来就是一个事务。
Part1更新客户信息,Part2更新订单的信息,Part3更新订单对应外部的交易流水号,Part4 支付回来。
以上操作必须保证原子性的同步更新,这种情况下 1~ N都会走 JDBC Connection
查看全部 -
线程资源一致性(取自JDBC):
如图所示,请求响应虚线框中Part1、 PartN代表你的一个会话中的N个程序都要去完成一些事情,他们整体串起来就是一个事务。
Part1更新客户信息,Part2更新订单的信息,Part3更新订单对应外部的交易流水号,Part4 支付回来。
以上操作必须保证原子性的同步更新,这种情况下 1~ N都会走 JDBC Connection 。
查看全部 -
ThreadLocal源码中AtomicInteger是干嘛用的,事后查一下。
查看全部 -
原子性,就是ab两个操作,要么都做,要么都不做。
一致性,a扣掉的钱和b加上的钱要一致。
隔离性,多事务并发的顺序,对结果并不影响。
持久性,对于a扣掉了钱,突然宕机了,b要能保持好一致性。
查看全部 -
老师的意思是原来是对add()方法加锁。实际生产中add()方法里可能存在对数据库即IO或者redis即内存等一些操作。如果对这一步进行加锁。每一次都要等这部分的时间。
而现在把锁加载了set上面了。就变成小面基了。只是操作了下set,往里面add一个元素而已。
查看全部 -
看一下这一行代码有点难度理解的时候,回头再理解一下。
查看全部 -
关于jdbc保持事务一致性,这些请求都是一个线程发生的,那我就用一个链接去做。要知道是不是一个线程发生的,可以通过ThreadLocalMap
查看全部
举报