一、synchronized的实现方案 1.synchronized能够把任何一个非null对象当成锁,实现由两种方式: a.当synchronized作用于非静态方法时,锁住的是当前对象的事例,当synchronized作用于静态方法时,锁住的是class实例,又因为Class的相关数据存储在永久 ...
分类:
其他好文 时间:
2018-07-13 00:03:14
阅读次数:
155
Latch是轻量级的锁,它是SQL Server内部用来同步资源访问的一个数据结构,使数据的访问同步有序,这意味着,当一个线程获得资源R的Latch的独占使用权时,如果其他的线程也想访问这个Latch时,那么它必须等待该Latch的独占使用权释放。 一,Latch介绍 Latch主要分为两种:Buf ...
分类:
数据库 时间:
2018-06-28 19:30:43
阅读次数:
236
主要总结数据库写脏块的机制。 当一个进程要进行修改数据块的时候 1、获取cbc latch 2、修改buffer pin status 3、释放cbc latch 4、生成redo记录 5、修改buffer数据块 6、将脏块移到检查点队列中,到此才算修改完毕 7、获得cbc latch 8、修改bu ...
分类:
数据库 时间:
2018-06-24 23:53:14
阅读次数:
292
一、 这两条约束语句都是针对板级延时而言的。 语句中必须的有是,时钟与port. 二、 set_input_delay 用于数据输入端口,调节数据输入与时钟输入到来的相位关系。 当FPGA外部送入FPGA内部寄存器数据时,会有两个时钟launch clock 与latch clock,前者负责将数据 ...
分类:
其他好文 时间:
2018-06-22 13:30:28
阅读次数:
2704
业务背景:存储请求参数token ,token唯一 ,且新的生成旧的失效 思路:因为是多台机器,获取token存入redis,保持唯一,考虑使用redis来加锁,其实就是在redis中存一个key,其他机器发现key有值的话就不进行获取token的请求。 SET操作会覆盖原有值,SETEX虽然可设置 ...
分类:
其他好文 时间:
2018-06-16 21:44:57
阅读次数:
731
Ⅰ、看一个幻读的模型 表a中有4条记录1,3,5,7,开两个session 按道理如果事务隔离级别为rr,那一个事务提交了,对另一个事务不可见,解决不可重复读,这样看测试二是合理的, 那为什么,测试二session1一开始select了一把,session2里面事务提交了,session1就不可见, ...
分类:
其他好文 时间:
2018-06-14 11:22:44
阅读次数:
167
此小节介绍几个与锁有关的有用工具。 闭锁(Latch) 闭锁(Latch):一种同步方法,可以延迟线程的进度直到线程到达某个终点状态。通俗的讲就是,一个闭锁相当于一扇大门,在大门打开之前所有线程都被阻断,一旦大门打开所有线程都将通过,但是一旦大门打开,所有线程都通过了,那么这个闭锁的状态就失效了,门 ...
分类:
编程语言 时间:
2018-05-25 19:26:34
阅读次数:
167
创建会话 客户端可以通过创建一个Zookeeper实例来连接服务器。4种构造方法如下 注意,zookeeper客户端和服务端会话建立是一个异步的过程,也是就是说在程序中构造zookeeper方法初始化方法执行完后 会立即返回,在大多数情况下此时并没有真正的建立一个可用的会话,此时会话正处于CONne ...
分类:
编程语言 时间:
2018-05-20 18:16:12
阅读次数:
201
关于Timing borrow 本文针对常见的timingborrow 问题,做深入的分析和总结 涉及到timingborrow 的问题,属于LPS设计中的高级问题 通过TimingBorrow可以对电路进行加速,当路径延迟较大时,可以通过借用latch的部分时间实现数据的锁存从而可以提高设计运行的 ...
分类:
其他好文 时间:
2018-05-14 23:07:53
阅读次数:
1526