首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
_空白_
掘友等级
Java
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
Java并发编程(十三)PriorityBlockingQueue
PriorityBlockingQueue是优先级阻塞队列,实现跟PriorityQueue基本一模一样 1 PriorityQueue 非阻塞的优先级队列,底层基于数组实现,可以扩容,是真正意义上的
Java并发编程(十二)阻塞队列LinkedBlockingQueue
1 LinkedBlockingQueue核心属性 底层基于链表实现的,会将每个元素封装为Node,Node有当前值,还有一个next指针,默认情况下最大长度为Integer.MAX_VALUE,一般
Java并发编程(十一)阻塞队列ArrayBlockingQueue
阻塞队列: 队列,先进先出的一个数据结构 阻塞,基于ReentrantLock实现的,并且线程的挂起也是通过Condition ArrayBlockingQueue底层是采用数组实现的一个队列。因为使
Java并发编程(十)CyclicBarrier
1 CyclicBarrier的应用 CyclicBarrier可以理解为循环栅栏。 在使用中要求必须规定数量的线程都到达栅栏后,所有在栅栏前等待的线程才能都继续执行。 CyclicBarrier可以
Java并发编程(九)Semaphore
1. Semaphore应用 一般用于流控。比如有一个公共资源,多线程都可以访问时,可以用信号量做限制。 连接池,内部的链接对象有限,每当有一个线程获取连接对象时,对信号量-1,当这个线程归还资源时对
Java并发编程(八)CountDownLatch
1. CountDownLatch的基本应用 CountDownLatch本身就好像一个计数器,可以让一个线程或多个线程等待其他线程完成后再执行 应用方式 2. CountDownLatch核心源码分
Java并发编程(七)ThreadPoolExecutor(线程池)
1. 线程池介绍 Java构建线程的方式 new Thread new Runnable new Callable 为了避免频繁创建和销毁线程造成不必要的性能,一般在使用线程时,会采用线程池 核心线程
Java并发编程(六)ConcurrentHashMap的扩容
三种触发方式 当前容量超过阈值 当链表中元素个数超过默认设定(8个),当数组的大小还未超过64的时候,此时进行数组的扩容 当发现其他线程扩容时,协助扩容 1. tryPreSize方法-初始化数组 2
Java并发编程(五)ConcurrentHashMap
1. 结构介绍 ConcurrentHashMap和HashMap的存储结构是一致的。 ConcurrentHashMap是线程安全的。 存储结构 关于put和putIfAbsent的区别 2. 散列
Java并发编程(四)ReentrantReadWriteLock源码
1. 为什么要出现读写锁 因为ReentrantLock是互斥锁,如果有一个操作是读多写少,同时还需要保证线程安全,那么使用ReentrantLock会导致效率比较低。 因为多个线程在对同一个数据进行
下一页
个人成就
文章被点赞
1
文章被阅读
9,425
掘力值
584
关注了
1
关注者
3
收藏集
0
关注标签
42
加入于
2021-02-23