多线程
文章平均质量分 84
lenlir
这个作者很懒,什么都没留下…
展开
-
JAVA中常用的安全集合类
Collections中的SynchronizedXXXVectorCopyOnWriteArrayListCollections中的SynchronizedXXX拿一个SynchronizedList来说吧从构造方法来看,他需要传入一个List类型的实例。可以看到他的全局都是一把锁,多个线程进来,无论是读-读,读-写,写-写都是需要进行排队的,所以并发效率就会很低。Vector// capacity是Vector的默认容量大小。当由于增加数据导致容量增加时,每次容量会增加一倍。Ve.原创 2021-08-17 18:02:44 · 794 阅读 · 0 评论 -
JAVA中的一些锁概念
文章目录乐观锁和悲观锁读写锁重量解锁和轻量级锁自旋锁公平锁和非公平锁可重入锁和不可重入锁死锁CAS(compare and swap)比较并交换synchronized的锁升级过程乐观锁和悲观锁乐观锁:这个锁认为出现锁竞争的概率比较低(当前线程中,线程数量较少,不太涉及竞争,就偶尔竞争一下)悲观锁:这个所认为出现锁竞争的概率比较大(当前场景中,线程数目比较多,可能涉及竞争)读写锁普通的锁提供两个操作:加锁,解锁读写锁提供三个操作:读加锁,写加锁,解锁。读加锁和读加锁:不需要互斥写加锁和写加锁原创 2021-08-15 23:02:49 · 950 阅读 · 7 评论