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