首页 > 编程语言 >Java线程池控制线程存活时间的机制

Java线程池控制线程存活时间的机制

时间:2024-04-29 10:00:34浏览次数:26  
标签:销毁 Java 阻塞 存活 线程 控制线

  1. 核心线程:

永不销毁:此类线程处理完任务后,会调用任务队列的take方法,此方法是阻塞的,假如队列为空了,该线程就会被阻塞住,线程就能一直存活着了。

  1. 非核心线程:

空闲指定时间后,会被销毁:此类线程处理完任务后,会通过调用任务队列的pop方法,此方法接收一个时间参数且是限时阻塞的,假如队列为空,线程会被阻塞一段时间,然后超时退出阻塞,线程将自然退出并销毁。

标签:销毁,Java,阻塞,存活,线程,控制线
From: https://www.cnblogs.com/JaxYoun/p/18165064

相关文章

  • 顶级 Javaer 都在用的 20 个类库,真香!
    优秀且经验丰富的Java开发人员的特征之一是对API的广泛了解,包括JDK和第三方库。我花了很多时间来学习API,尤其是在阅读了EffectiveJava3rdEdition之后,JoshuaBloch建议在Java3rdEdition中使用现有的API进行开发,而不是为常见的东西编写新的代码。这对我来说很有意义,因为这些......
  • Java 线程Dump分析
    一般当服务器挂起,崩溃或者性能低下时,就需要抓取服务器的线程堆栈(ThreadDump)用于后续的分析。在实际运行中,往往一次dump的信息,还不足以确认问题。为了反映线程状态的动态变化,需要接连多次做threaddump,每次间隔10-20s,建议至少产生三次dump信息,如果每次dump都指向同一个问题,我们......
  • Slave SQL线程与PXB FTWRL死锁问题分析
    1.问题背景2.27号凌晨生产环境MySQL备库在执行备份期间出现因FLUSHTABLESWITHREADLOCK未释放导致备库复制延时拉大,慢日志内看持锁接近25分钟未释放。版本:MySQL5.7.21PXB2.4.18慢查询日志:备份脚本中的备份命令:mysql_kill.sh的主要逻辑内容:备份参数:2.问题复......
  • java平均值
    packagecyh;classCalculator{publicstaticdoublecalculateAverage(int[]numbers){intsum=0;for(inti=0;i<numbers.length;i++)sum+=numbers[i];returnsum/(double)numbers.length;}pu......
  • JavaScript: FullScreen
     <!doctypehtml><html><head><metacharset="utf-8"> <metaname="viewport"content="width=device-width,initial-scale=1.0"> <metacontent="text/html;charset=utf-8"http-equiv=&......
  • 面试官:素有Java锁王称号的‘StampedLock’你知道吗?我:这什么鬼?
    一、写在开头我们在上一篇写ReentrantReadWriteLock读写锁的末尾留了一个小坑,那就是读写锁因为写锁的悲观性,会导致“写饥饿”,这样一来会大大的降低读写效率,而今天我们就来将此坑填之!填坑工具为:StampedLock,一个素有Java锁王称号的同步类,也是在java.util.concurrent.locks包中......
  • java学习-接口
    01、定义接口接口用interface关键字去表示,不可以带私有化修饰符,比如protected、final等。接口就是用来被继承implements实现的,如果不允许访问,那就没意义了。接口同样不允许new实例化。02.接口的作用第一,使某些实现类具有我们想要的功能,比如说,实现了Cloneable接口的类具有拷贝......
  • java学习-抽象类
    01.定义抽象类定义抽象类的时候需要用到关键字abstract,放在class关键字前,就像下面这样。abstractclassAbstractPlayer{}02.抽象类的特征抽象类是不能实例化的,尝试通过new关键字实例化的话,编译器会报错,提示“类是抽象的,不能实例化”。但是,子类可以通过extends关键......
  • Java流程控制
    输入流ScannerScannerscanner=newScanner(System.in);通常会用hasNext()或者hasNextLine()来判断还有没有输入字符,用next(),nextLine()来接收用户的输入next():一定要读取到有效字符后才能结束输入;对有效字符钱的空白会自动去掉,有效字符后的空白作为分隔符或者结束符,不能......
  • Java的基础知识
    一.Java入门Java的特性和优势:简单性,面向对象,可移植性,高性能,分布式,动态性,多线程,安全性,健壮性;Java三大版本:JavaSE:标准版(桌面程序,控制台开发)JavaME:嵌入式开发(手机,小家电)JavaEE:企业级开发(web端,服务器开发)JDK,JRE,JVM三者之间的关系:JDK(JavaDevelopmentKit):Java开发......