- 博客(5)
- 资源 (14)
- 问答 (9)
- 收藏
- 关注
原创 响应中断的锁与定时锁的实现原理
响应中断的锁 在JDK5之前使用Synchronized作为获取锁的关键字,但是在获取锁的过程中无法中断,及时调用Thread.interrupt也不会中断。 为了能够使线程快速的响应中断,可以使用lock.lockInterruptibly方法。通过源码分析可中断的锁ReentrantLock的lockInterruptibly的基本使用public static void main(
2016-12-15 18:22:09 4323
原创 Lock中Condition的实现
Condition 多个线程之间通信,JDK1.5以前使用wait和notify,到了JDK1.5我们有了更加高效的Condition。通过源码分析Condition的实现ReentrantLock的Condition基本使用假如要做一个生产者消费者,当队列中没有元素时,生产者要生产,此时消费者线程不应该再去争夺CPU资源,同样如果队列已满,生产者也不该去争夺CPU资源,而是交由消费者取消费,
2016-12-15 18:20:54 932
原创 共享式AQS
共享式AQS 阻塞式锁,在同一时刻只能有一个线程在执行,当一个线程执行完成后,再去释放下一个线程,而共享式是指,锁是可以被共享的,表现形式为,在同一时刻可以有多个线程运行。通过源码分析共享式AQS的实现CountDownLatch、Semaphore都属于共享锁。基于网上有好多博客都是分析CountDownLatch,所以我在此处分析一下Semaphore。Semaphore的基本使用publ
2016-12-15 18:18:30 867
原创 排它式AQS(EXCLUSIVE模式)
排它式AQS(EXCLUSIVE模式) CLHLock是自旋锁,不支持阻塞,AQS支持。 和CLHLock一样,AQS有一个头节点引用和一个尾节点引用,每当一个线程过来请求锁,就会创建一个节点,节点和线程绑定,然后插入到尾节点。通过源码分析阻塞式AQS 通过ReentrantLock分析AQS的阻塞锁。顺便说一下ReentrantLock这个名字,从名字可以看出,这个类默认是支持重入
2016-12-15 17:58:59 4373 3
原创 多线程-锁
多线程-锁锁的种类 锁 分为两种, 1:阻塞锁 2:自旋锁 - 阻塞锁 当一个线程已经持有了锁,那么其他线程则必须等待。在持有锁的线程,释放锁之前,其他线程都要处于空闲状态。当持有锁的线程,释放锁后,其他线程才能获得锁。 - 自旋锁 当第一次看到这个名字的时候,直接被它吓到��。说白了,当一个线程已经持有了锁,那么其他线程则不断的在循环判断一个标志,该标志标识锁是否被释放。如果循环
2016-12-15 17:54:08 746
Microsoft+SQL+Server+2008技术内幕:T-SQL基础
2011-09-24
javaweb系统实现抢购功能,使起支持高并发,并且不出现超发的现象
2015-04-28
web页面实时数据展示
2013-08-09
java 后台对前台的表单做非空验证,有必要吗
2012-12-06
新浪微博java sdk如何获得一条评论的ID号
2012-03-13
apache 下载jar包 文件后缀名的含义
2011-12-28
java 标准Io流
2011-11-24
java 中集合的设计
2011-11-14
flex 文件上传,区别不同人的上传文件
2011-10-10
flex3 中改变button中文字的方向
2011-08-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人