扫码关注公众号

多线程和并发之线程池的考点
04-02
53观看
01

java线程的创建方式有哪些?

①继承Thread类并重写run方法。实现简单,但不符合里氏替换原则,不可以继承其他类。②实现Runnable接口并重写run方法。避免了单

来自:多线程和线程池-线程池
02

volatile关键字是否能保证线程安全?

不能。volatile关键字用在多线程同步中,可保证读取的可见性,JVM只是保证从主内存加载到线程工作内存的值是最新的读取值,而非cache

来自:多线程和线程池-线程池
03

请列举一下启动线程有哪几种方式,之后再说明一下线程池的种类都有哪些?

要启动的可以分为两类:返回结果和不返回结果。对于这两种,也分别有两种启动线程的方式:1)继承Thread类,重载run()2)实现Runnable接口,实现run()3)实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的线程常用方法:1.newCachedThreadPool()2.newFixedThreadPool(intnThreads)3.newSingleThreadExecutor()4.newScheduleThreadPool()5.newWorkStealingPool(intparallelism)

来自:多线程和线程池-线程池
04

Java线程池的工作流程

线程池中的执行流程:(1)当线程数小于核心线程数的时候,使用核心线程数。(2)如果核心线程数小于线程数,就将多余的线程放入任务队列(阻塞队列)中(3)当任务队列(阻塞队列)满的时候,就启动最大线程数.(4)当最大线程数也达到后,就将启动拒绝策略。

来自:多线程和线程池-线程池
课程
专栏
深入理解线程和线程池(图文详解)
一个应用程序的运行就可以被看做是一个进程,而线程,是运行中的实际的任务执行者。
csdn
线程
线程池
Java线程池的使用
线程本身是把双刃剑,我们需要知道它的利弊,才能在实际系统中游刃有余地运用。
简书
Java
线程池
线程池,这一篇或许就够了
有空闲线程则复用空闲线程,若无空闲线程则新建线程
简书
线程池
java语言-多线程和线程池-线程池
3专栏
1课程
4 试题