heoller
heoller
全部文章
分类
docker(1)
Java(7)
JVM(2)
Kafka(3)
Linux(1)
maven(1)
Mybatis(1)
Mysql(5)
Netty(3)
RabbitMQ(4)
Redis(1)
Spring(4)
Zookeeper(1)
归档
标签
去牛客网
登录
/
注册
Heoller Blog
长风破浪会有时,直挂云帆济沧海。
TA的专栏
10篇文章
0人订阅
常用的消息中间件总结
3篇文章
429人学习
Spring
3篇文章
479人学习
Java基础
1篇文章
321人学习
微服务
1篇文章
387人学习
面试全知道
2篇文章
298人学习
全部文章
(共4篇)
Java并发之线程池
使用线程池是为了减少创建和销毁线程带来的资源消耗。线程池适用于单任务处理时间短且任务量较大的场景。 线程池核心参数 参数 说明 int corePoolSize 核心线程数 int maximumPoolSize 最大线程数 long keepAliveTime 非核心线程最大可...
java
juc
线程池
2020-08-29
0
507
Java并发之CountDownLatch
当存在多线程执行任务,需要等待指定数量的子线程都执行完后,再执行主线程任务场景时,可以使用CountDownLatch类来实现。其静态内部类Sync继承了AbstractQueuedSynchronizer,主要实现了AQS的tryAcquireShared和tryReleaseShared方法。 ...
java
juc
CountDownLatch
2020-08-19
0
357
Java并发之Semaphore
Semaphore可以用来控制访问临界资源的线程数,也是基于AQS框架的。 CLH首个线程结点唤醒后续线程节点 int r = tryAcquireShared(arg); // 可用“权限”数(state)判断 if (r >= 0) { // 向后广播,唤醒后继节点 // ...
aqs
java
juc
Semaphore
2020-08-19
0
411
Java并发之syncronized
syncronized原理 syncronized是基于java对象加锁的。java对象创建后jvm会给该对象维护一个管程(Monitor)对象, Monitor最终又依赖操作系统维护的Mutex(互斥量)进行一系列锁操作, 比如: Monitor.Enter(获取锁)、Monitor.Exit(释...
synchronized
java
juc
2020-08-15
0
464