![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA 线程
誰嘚
努力努力努力
展开
-
Executors工厂方法说明
newFixedTreadPool:返回一个固定线程数量的线程池,该方法创建的线程池线程数量始终不变,此线程池使用的任务队列为LinkedBlockingQueue。(任务队列描述说明链接:ThreadPoolExecutor主要参数说明_誰嘚的博客-CSDN博客) newSingleThreadPool:返回一个只有一个线程的线程池,此线程池使用的任务队列为LinkedBlockingQueue。 newCachedThreadPool:返回一个可根据实际情况调整线程数量的线程池,线程池线程数量不确定原创 2021-10-14 20:50:45 · 92 阅读 · 0 评论 -
ThreadPoolExecutor主要参数说明
corePoolSize:指定了线程池中的线程数量; maximumPoolSize:制定线程池中最大线程数量; keepAliveTime:当线程数量超过corePoolSize时,多余的空闲线程存活时间。即超过corePoolSize的空闲线程多长时间会被销毁。 unit:keepAliveTime的单位。 workQueue:任务队列,被提交但未被执行的任务。 threadFactory:线程工厂,用于创建线程,一般使用默认,也可自定义,比如指定线程名称等。 handle:拒绝策略,当.原创 2021-10-14 20:16:50 · 152 阅读 · 0 评论 -
重入锁ReentrantLock的搭档:Condition条件
接口基本方法: /* *会使当前线程等待,同时释放当前锁,当其他线程中使用signal() 或者singnAll()方法时,线程会重新获得锁并继续执行。或者当线程被中断时,也能跳出等待,和Object.wait()方法相似。 */ void await() throws InterruptedException; /* *和await方法基本相同,但不会再等待过程中响应中断。 */ void awaitUninterruptibly(); long awaitNanos(long nanos原创 2021-10-13 19:54:07 · 89 阅读 · 0 评论 -
JAVA并发包:重入锁ReentrantLock
重入锁ReentrantLock 可以完全替代synchronized关键字。 重要方法: lock():获得锁,如果锁被占用,则等待。 lockInterruptibly():获得锁,但优先响应中断。 tryLock():尝试获得锁,如果成功返回true,失败返回false;该方法不等待,立即返回。 tryLock(long time,TimeUnit unit):在给定的时间内尝试获得锁。 unlock():释放...原创 2021-10-13 19:39:25 · 64 阅读 · 0 评论 -
Thread方法说明
run():需要重载此方法,把让线程做的事件放到此方法中。 interrupted():通知目标线程中断,也就是设置中断标志位。中断标志位表示当前线程已经中断了。 isInterrupted():判断当前线程是否有被中断(通过检查中断标志位) join():使调用线程在当前线程进行等待,当线程执行完成后,被等待的线程会在推对象实例上使用类似wait()或者notify()等方法。 yield():一旦执行,他会使当前线程让出cpu。 ...原创 2021-10-12 21:01:42 · 58 阅读 · 0 评论 -
线程Thread状态
/** * 表示刚刚创建的线程,这种线程还没开始执行。线程进行start()后才开始执行。 */ * 线程执行的状态,处于此种状态,表示线程所需的资源已经准备好RUNNABLE * 阻塞状态,线程遇到了synchronized块就会进入BLOCKED阻塞状态,这时线程会停止执行,直到 * 获得请求锁。BLOCKED * 无时间限制等待状态;等待一些特殊事件,比如,通过wait()方法等待notify()方法, ...原创 2021-10-12 19:59:40 · 69 阅读 · 0 评论