![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 94
Yuwen_forJava
这个作者很懒,什么都没留下…
展开
-
ReentrantLock加锁和解锁
1.ReentrantLock1.1 ReentrantLock是什么ReentrantLock 意思为可重入锁,指的是一个线程能够对一个临界资源重复加锁。ReentrantLock内部实现依赖于AQS。1.2 AQS是什么AQS(AbstractQueuedSynchronizer)是抽象队列同步器,在线程访问共享资源时候,会先判断资源是否上锁了,如果上锁了,那么把该线程放入CLH队列中进行等待;如果没上锁,那么把该线程设置为工作线程。AQS的主要原理图:AQS 使用一原创 2022-02-15 18:08:51 · 2226 阅读 · 1 评论 -
java线程池:线程池怎么开启的、线程池怎么工作的、线程池是怎么关闭的
1.序位于 java.util.concurrent 下的 ThreadPoolExecutor 是java的线程池,可以用来管理线程。本文围绕线程池的开启、工作、关闭三个方向进行探究,去追溯源码的实现。2.线程池怎么开启的ThreadPoolExecutor 有四个构造方法,如下:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,long keepAliveTime, TimeUnit unit, B.原创 2021-03-23 19:34:33 · 2985 阅读 · 0 评论 -
java多线程与自定义线程池
1. 多线程的优缺点优点:提升cpu使用率 异步处理任务,提升响应速度缺点:开启线程需要占用一定的内存空间(默认情况下,主线程占用1M,子线程占用512KB),如果开启大量的线程,会占用大量的内存空间,降低程序的性能 多线程之间存在数据共享问题,提高技术复杂度2. java开启多线程 继承Thread类,重写 run() 方法 实现Runnable接口,重写 run() 方法 实现Callable接口,重写 call() 方法 3. 线程池“..原创 2020-08-30 14:01:08 · 257 阅读 · 0 评论 -
Java多线程callable
继承callable接口,实现call()方法import java.lang.reflect.Method;import java.util.ArrayList;import java.util.List;import java.util.concurrent.Callable;public class ThreadUtil implements Callable<List...原创 2018-11-14 09:44:04 · 206 阅读 · 0 评论