文章 2023-05-17 来自:开发者社区

面试官:线程池里面到底该设置多少个线程?

一、抛出问题关于如何计算并发线程数,一般分两派,来自两本书,且都是好书,到底哪个是对的?问题追踪后,整理如下:第一派:《Java Concurrency in Practice》即《java并发编程实践》,如下图:如上图,在《Java Concurrency in Practice》一书中,给出了估算线程池大小的公式:Nthreads=Ncpu*Ucpu*(1+w/c),其中Ncpu=CPU核心....

面试官:线程池里面到底该设置多少个线程?
文章 2023-02-09 来自:开发者社区

面试官: 线程池是如何做到线程复用的?有了解过吗,说说看

前言目前正在出一个Java多线程专题长期系列教程,从入门到进阶含源码解读, 篇幅会较多, 喜欢的话,给个关注❤️ ~承接上节的问题,我们继续探讨ThreadPoolExecutor,一起来看下吧~ThreadPoolExecutor中是如何做到线程复用的❓我们知道,一个线程在创建的时候会指定一个线程任务,当执行完这个线程任务之后,线程自动销毁。但是线程池却可以复用线程,一个线程执行完线程任务后不....

文章 2022-08-15 来自:开发者社区

面试官:说一下线程池的状态以及线程池中空闲的线程的状态

线程池的状态:1:RUNNING:线程池运行时候的状态2:shutdown:这个状态是暂停接收新任务,但能处理已添加的任务,比如在阻塞队列中的任务和正在执行的任务。3:stop:这个状态是暂停接收新任务,并且暂停正在执行的任务和任务队列中的任务4:tiding:当所有的任务已终止,记录的”任务数量”为0,线程池会变为TIDYING状态,之后也会执行terminated()函数进入terminat....

文章 2022-06-13 来自:开发者社区

面试官:你是如何评估一个线程池需要设置多少个线程

Java并发编程是大厂第一轮面试中的高频面试题,而线程池又是其中的典型代表,本文将梳理关于线程池的工作机制,并提出灵魂之问:你对线程池的工作机制这么了解,那你在工作中是如何判断一个线程池需要创建多少个线程的呢?1、线程池基本工作原理与面试指南1.1 java线程池的核心属性JAVA 线程池的核心属性如下:int corePoolSize核心线程数int maximumPoolSize线程池最大线....

面试官:你是如何评估一个线程池需要设置多少个线程
文章 2021-12-22 来自:开发者社区

面试官:线程池多余的线程是如何回收的?

最近阅读了JDK线程池ThreadPoolExecutor的源码,对线程池执行任务的流程有了大体了解,实际上这个流程也十分通俗易懂,就不再赘述了,别人写的比我好多了。不过,我倒是对线程池是如何回收工作线程比较感兴趣,所以简单分析了一下,加深对线程池的理解吧。下面以JDK1.8为例进行分析1. runWorker(Worker w)工作线程启动后,就进入runWorker(Worker w)方法。....

面试官:线程池多余的线程是如何回收的?

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐