多线程相关的问题(面试)

发布时间 2023-03-31 18:52:46作者: 永刚的点滴成长

1、线程创建的方式有哪几种

  1、继承Thread类;2、实现Runnable接口;3、实现Callable接口;4、使用Executor工具类创建线程池;5;使用ThreadPoolExecutor工具类创建线程池。

2、线程的5种状态流转

  线程的状态如下状态:新建、就绪、运行、【阻塞】(等待(时间片用尽)、主动等待、挂起)、销亡;新建一个线程开始调用start方法时会进入就绪状态,被操作系统调度会进入到运行态,如果时间片用完会或有休眠操作或进入同步代码块或IO阻塞进入等待或阻塞状态,以上这些场景满足的状态流转的条件下一个状态是就绪态,继续等待CPU的调度,线程执行完毕进入销亡阶段。

 

 3、线程池的常用参数

  ThreadPoolExecutor核心参数如下:corePoolSize、MaximumPoolSize、workQueue、keepAliveTime、rejectedExecutionHandler

4、ThreadPoolExecutor的饱和策略