多线程
文章平均质量分 67
多线程
gtl256
这个作者很懒,什么都没留下…
展开
-
ReentrantReadWriteLock和StampedLock
ReentrantReadWriteLock和StampedLock原创 2021-04-01 23:14:55 · 247 阅读 · 0 评论 -
PriorityBlockingQueue、DelayQueue、SynchronousQueue、TransferQueue和LinkedTransferQueue
PriorityBlockingQueue、DelayQueue、SynchronousQueue原创 2021-03-27 16:31:49 · 273 阅读 · 1 评论 -
BlockingQueue之ArrayBlockingQueue、LinkedBlockingQueue、BlockingDeque之LinkedBlockingDeque
BlockingQueue BlockingQueue即阻塞队列,它的特点就是阻塞添加和阻塞删除。阻塞添加:当阻塞队列元素已满时,队列会阻塞加入元素的线程,直到队列元素不满时才唤醒线程执行元素加入操作。阻塞删除:指在队列元素为空时,删除队列元素的线程将被阻塞,直到队列不为空再执行。核心方法:offer():如果队列满了,立即返回false,不阻塞put():如果队列满了,就阻塞,直到线程被中断或者被唤醒poll():如果队列没有元素,直接返回原创 2021-03-27 13:55:08 · 362 阅读 · 0 评论 -
SkipList、ConcurrentSkipListMap和ConcurrentSkipListSet
SkipList(跳表) 跳表(Skiplist)是一个特殊的链表,相比一般的链表,有更高的效率,平均的查找、插入、删除时间复杂度都是O(logn)。查询 例如查询5从左上角的1开始,查询1右边的10由于10>5,操作数仍然是11下面有数据,操作数下移到第二行的1比较右边的数值 5>=5,操作数右移到第二行的55右边的数值10>5,操作数不变5下面有数据,操作数下移到第三行的5原创 2021-03-24 22:24:20 · 273 阅读 · 0 评论 -
ConcurrentHashMap
ConcurrentHashMap ConcurrentHashMap是是线程安全的哈希表,相当于线程安全的HashMap。其使用CAS+synchronized实现,而其上锁的,只是table数组的一个元素。 //table数组 transient volatile Node<K,V>[] table; //扩容的下一个数组,最终会table=nextTable进行赋值。 private transient vol原创 2021-03-23 23:29:05 · 117 阅读 · 2 评论 -
CopyOnWriteArrayList和CopyOnWriteArraySet、ConcurrentLinkedQueue、ConcurrentLinkedDeque
CopyOnWriteArrayList和CopyOnWriteArraySetConcurrentLinkedQueue、ConcurrentLinkedDeque原创 2021-03-23 21:37:44 · 282 阅读 · 2 评论 -
CountDownLatch、CyclicBarrier、Semaphore
CountDownLatch、CyclicBarrier、Semaphore原创 2021-03-21 16:50:58 · 139 阅读 · 0 评论 -
AQS、LockSupport、Lock和ReentrantLock、Condition
AQS、LockSupport、Lock和ReentrantLock、Condition原创 2021-03-20 17:49:08 · 265 阅读 · 0 评论 -
ThreadLocal使用、结构及其源码分析、ThreadLocalMap
ThreadLocal使用、结构及其源码分析、ThreadLocalMap原创 2021-03-20 15:15:31 · 203 阅读 · 2 评论