目录1. 谈谈什么是线程池2. 为什么要使用线程池3. 你们哪些地方会使用到线程池4. 线程池有哪些作用5. 线程池的创建方式6. 线程池底层是如何实现复用的7. ThreadPoolExecutor 核心参数有哪些8. 线程池创建的线程会一直在运行状态吗?9. 为什么阿里巴巴不建议使用 Executors10. 线程池底层 ThreadPoolExecutor 底层实现原理11. 线程池队列满
转载 2023-06-24 22:59:41
78阅读
什么是线程?答:线程是操作系统能够进行运算调度的最小单位,是程序执行流的最小单元。在Java中,可以通过实现Runnable接口或继承Thread类来创建线程。创建线程的方式有哪些?各自的优缺点是什么?继承 Thread 类:继承 Thread 类并重写 run() 方法来实现多线程。优点是简单易用,缺点是无法继承其他类,会破坏程序的封装性,而且无法共享代码。实现 Runnable 接口:实现 R
转载 2023-08-05 09:13:40
54阅读
如果你即将去一家从事大型系统研发的公司进行Java面试,不可避免的会有多线程相关的问题。下面是一些针对初学者或者新手的问题,如果你已经具备良好的基础,那么你可以跳过本文,直接尝试针对进阶水平的Java线程编程问题及解答。一个Java虚拟机的实例运行在一个单独的进程中,不同的线程共享Java虚拟机进程所属的堆内存。这也是为什么不同的线程可以访问同一个对象。线程彼此共享堆内存并保有他们自己独自的栈空
1)现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用join方法实现。2)在Java中Lock接口比synchronized块的优势是什么?你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现
转载 2023-09-07 14:38:56
24阅读
这篇文章主要是对多线程面试问题进行总结的,罗列了40个多线程问题。1、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓"知其然知其所以然","会用"只是"知其然","为什么用"才是"知其所以然",只有达到"知其然知其所以然"的程度才可以说是把一个知识点运用自如。OK,下面说说我对这个问题的看法:
转载 2021-08-18 11:28:45
194阅读
Java线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单 一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。2. 多线程编程的好处是什么?在多线程程序中,多个线程被并发的执行以
转载 精选 2016-01-04 16:25:05
472阅读
1点赞
1评论
这篇文章主要是对多线程面试问题进行总结的,罗列了40个多线程问题。 1、 多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓"知其然知其所以然","会用"只是"知其然","为什么用"才是"知其所以然",只有达到"知其然知其所
转载 2018-08-15 16:27:00
100阅读
2评论
Java线程面试问题进程和线程之间有什么不同? 一个进程是一个、
原创 2022-07-08 12:16:54
176阅读
1、线程介绍:线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速。2、线程与进程的区别:线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间,且每个线程都拥有单独的栈内存用来存储本地数据。3、使用多线程从语言层
美团一面: 1、ConcurrentHashMap实现原理 2、HashMap实现原理 3、锁的实现原理 4、synchronized和重入所实现原理以及区别 5、一个char[]数组,里面有空格,以&结束。 6、jvm内存模型,都存什么。以及垃圾回收算法,垃圾回收器。 7、内存溢出的场景 8、设计模式,以及自己使用的场景。 9、Sping的AOP实现原理,以及对象生成方式的种类,单例的还
文章目录1问题描述1 工作流程2 线程池有几种工作 队列2.1 怎么理解有界队列和无界队列3拒绝策略有何用途?4如何创建,停止线程池?为什么不建议使用executors构建线程池?4.1线程池终止4.2线程池的构建4.3为什么不建议使用executors构建线程池?5 线程池有哪些种类?各自的使用场景是什么?6线程池有哪些状态,状态的设计机制是什么?状态是如何相互切换的?6.1 线程池状态6.2
只要是程序进入内存中,那么就是一个进程,一个程序可以有多个进程,例如我登录两个qq号,都是启动了一个QQ.exe的程序;进
只要是程序进入内存中,那么就是一个进程,一个程序可以有多个进程,例如我登录两个qq号,都是启动了一个QQ.exe的程序;进程是用来分配资源, 网络,磁盘,最主要的是内存资源;它是一个静态的概念,当程序进入内存后,一定会产生一个主线程;
原创 2024-10-21 14:34:02
13阅读
面试必问:面试问题1:Java线程池说一下,各个参数的作用,如何进行的? 面试问题2:按线程池内部机制,当提交新任务时,有哪些异常要考虑。 面试问题3:线程池都有哪几种工作队列? 面试问题4:使用无界队列的线程池会导致内存飙升吗? 面试问题5:说说几种常见的线程池及使用场景?线程池概念线程池: 是一种基于池化思想管理线程的工具,经常出现在多线程服务器中,如MySQL。 线程过多会带来额外的开
一、为什么会发生多线程并发问题?并发问题的根本原因是操作了共享资源,比如一个统计网站访问量的功能,每个用户进来就需要对访问量加1,如果做不好,那么就会导致统计的数字不准确二、在并发编程中,我们通常会遇到以下三个问题:原子性问题,可见性问题,有序性问题。三、具体的解决方案有哪些?1、ThreadLocal:ThreadLocal本质上是每个线程有自己的一个副本,每个线程的副本是互不影响,没有任何关系
1. 并行和并发有什么区别?并行(Parallel):指两个或者多个事件在同一时刻发生,即同时做不同事的能力。例如垃圾回收时,多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。并发(Concurrent):指两个或多个事件在同一时间间隔内发生,即交替做不同事的能力,多线程是并发的一种形式。例
转载 2020-03-11 09:52:00
85阅读
2评论
如果你即将去一家从事大型系统研发的公司进行Java面试,不可避免的会有多线程相关的问题。下面是一些针对初学者或者新手的问题,如果你已经具备良好的基础,那么你可以跳过本文,直接尝试针对进阶水平的Java线程编程问...
转载 2014-01-24 20:32:00
90阅读
2评论
15个顶级Java线程面试题及回答 http://ifeve.com/15-java-faq/ 1、关于线程的状态及相互转换 (1)join()方法:能够使线程顺序执行。可以将一个任务分为多个子任务,调用join()方法等待这些子任务完成运算,然后汇总结果。需要注意这并不能保证各个子任务线程的结束顺序。(2)线程只能从就绪状态(runnable)这一条唯一路径到运行状态(running)(3)
1.并行和并发有什么区别?并行:多个处理器或者多核处理器同时处理多个任务。并发:多个任务在同一个cpu核上,按细分的时间片轮流执行,从逻辑上来看哪些任务是同时执行。并发 = 两个队列和一台咖啡机。并行 = 两个队列和两台咖啡机。 2.notify()和 notifyAll()有什么区别?notifyAll()会唤醒所有的线程,notify()之后唤醒一个线程。notifyAll() 调用
一、多线程是什么?为什么要用多线程?介绍多线程之前要介绍线程,介绍线程则离不开进程。首先进程:是一个正在执行中的程序,每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元;线程:就是进程中的一个独立控制单元,线程在控制着进程的执行。一个进程中至少有一个进程。多线程:一个进程中不只有一个线程。为什么要用多线程:为了更好的利用cpu的资源,如果只有一个线程,则第二个任务必须等到第一
原创 2019-06-25 16:27:07
320阅读
  • 1
  • 2
  • 3
  • 4
  • 5