摘要: 1、Callable<V>接口 Runnable接口 Callable runnable接口 Callable接口 都可以被ThreadPoolExecutor或ScheduledThreadPoolExecutor执行,两者实现了ExcutorService接口 ExecutorService接口 阅读全文
posted @ 2018-03-14 20:57 战斗的小白 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 参考:http://blog.csdn.net/javazejian/article/details/50896505 1、Callable<V>接口 Runnable接口 Callable runnable接口 Callable接口 都可以被ThreadPoolExecutor或Scheduled 阅读全文
posted @ 2018-03-14 20:57 战斗的小白 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 读写锁接口:ReadWriteLock,它的具体实现类为:ReentrantReadWriteLock 使用场景: 对于一个资源,读读能共存,读写不能共存,写写不能共存。 锁降级:从写锁变成读锁; 锁升级:从读锁变成写锁。 ReentrantReadWriteLock不支持锁升级,支持锁降级 会死锁 阅读全文
posted @ 2018-03-14 20:05 战斗的小白 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.jianshu.com/p/377bb840802f https://www.cnblogs.com/dreamroute/p/5034726.html ThreadLocal是什么 线程局部变量 使用场景:变量是同一个,但是每个线程都使用同一个初始值,也就是使用同一个 阅读全文
posted @ 2018-03-14 17:29 战斗的小白 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.jianshu.com/p/4358b1466ec9 前言: 先来想象一个场景:手把手的进行锁获取和释放,先获得锁A,然后再获取锁B,当获取锁B后释放锁A同时获取锁C,当锁C获取后,再释放锁B同时获取锁D,以此类推,这种场景下,synchronized关键字就不那么容易 阅读全文
posted @ 2018-03-14 14:13 战斗的小白 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 参照:http://ifeve.com/introduce-abstractqueuedsynchronizer/ 前言: 在java.util.concurrent.locks包中有很多Lock的实现类,常用的有ReentrantLock、ReadWriteLock(实现类ReentrantRea 阅读全文
posted @ 2018-03-14 10:24 战斗的小白 阅读(720) 评论(0) 推荐(0) 编辑