java 中有三种创建线程的方式,或者说四种
1.继承 Thread 类实现多线程
2.实现 Runnable 接口
3.实现 Callable 接口
4.通过线程池
线程池的工作原理:
线程池可以减少创建和销毁线程的次数,从而减少系统资源的消耗,当一个任务提交到线程池时
- a.首先判断核心线程池中的线程是否已经满了,如果没满,则创建一个核心线程执行任务,否则进入下一步
- b.判断工作队列是否已满,没有满则加入工作队列,否则执行下一步
- c.判断线程数是否达到了最大值,如果不是,则创建非核心线程执行任务, 否则执行饱和策略,默认抛出异常