2021
08-22
08-22
Java多线程之多种锁和阻塞队列
目录一、悲观锁和乐观锁1.1.乐观锁1.2.悲观锁二、公平锁和非公平锁三、可重入锁(递归锁)四、自旋锁五、独占锁(写)/共享锁(读)六、什么是阻塞队列?七、阻塞队列(BlockingQueue)一、悲观锁和乐观锁1.1.乐观锁顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用于多读的应用类型,乐观锁在Java...
继续阅读 >
通过前面几篇文章的学习,我们已经知道了Java中的队列分为阻塞队列和非阻塞队列以及常用的七个阻塞队列。如下图:本文来源:凯哥Java(kaigejava)讲解Java并发系列之阻塞队列教程。系列文章,欢迎大家从第一篇文章开始看起。在查看以上七个队列的API的时候,我们可以很明显的看到以下四组API:add()/remove()/removeoffer()/poll()/peek()put/take()offer(e,time,unit)/poll(time,unit).分别对应的是,添加元素和移除元素以...