随笔 - 1356  文章 - 0  评论 - 1104  阅读 - 1941万

随笔分类 - 

Java中锁分类
摘要:锁的分类大致如下:公平锁/非公平锁可重入锁/不可重入锁独享锁/共享锁乐观锁/悲观锁分段锁 1、公平锁/非公平锁公平锁就是严格按照线程启动的顺序来执行的,不允许其他线程插队执行的;而非公平锁是允许插队的。 默认情况下 ReentrantLock 和 synchronized 都是非公平锁。Reentr 阅读全文
posted @ 2018-09-26 21:42 Ruthless 阅读(1216) 评论(0) 推荐(0) 编辑
可重入锁 & 不可重入锁
摘要:可重入锁指同一个线程可以再次获得之前已经获得的锁,避免产生死锁。 Java中的可重入锁:synchronized 和 java.util.concurrent.locks.ReentrantLock。1、synchronized 使用方便,编译器来加锁,是非公平锁。2、ReenTrantLock 使 阅读全文
posted @ 2018-09-25 11:21 Ruthless 阅读(3402) 评论(0) 推荐(0) 编辑
独享锁 & 共享锁
摘要:独享锁(互斥锁):同时只能有一个线程获得锁。比如,ReentrantLock 是互斥锁,ReadWriteLock 中的写锁是互斥锁。 共享锁:可以有多个线程同时获得锁。比如,Semaphore、CountDownLatch 是共享锁,ReadWriteLock 中的读锁是共享锁。 java5 Re 阅读全文
posted @ 2018-09-23 04:35 Ruthless 阅读(1896) 评论(0) 推荐(0) 编辑
公平锁与非公平锁
摘要:公平锁就是严格按照线程启动的顺序来执行的,不允许其他线程插队执行的;而非公平锁是允许插队的。 默认情况下 ReentrantLock 和 synchronized 都是非公平锁。ReentrantLock 可以设置成公平锁。 《公平锁与非公平锁》 阅读全文
posted @ 2018-09-21 23:31 Ruthless 阅读(389) 评论(0) 推荐(0) 编辑
Java多线程同步集合--并发库高级应用
摘要:一、阻塞队列1、在多线程领域,所谓阻塞,在某些情况下会挂起线程,一旦条件满足,被挂起的线程又会自动被唤醒2、ArrayBlockingQueue(效率高)和LinkedBlockingQueue是两个最常用的阻塞队列,一般情况下用来处理多线程间的生产者消费者问题。 二、并发队列ConcurrentL 阅读全文
posted @ 2017-02-26 22:35 Ruthless 阅读(1837) 评论(0) 推荐(0) 编辑
分段锁——ConcurrentHashMap
摘要:1、线程不安全的HashMap因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 2、效率低下的HashTable容器HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下Hash 阅读全文
posted @ 2016-01-14 21:18 Ruthless 阅读(11289) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示