线程池复用原理

线程池复用的原理:

  线程池可以让线程和任务解耦, 一个线程可以从阻塞队列中不断的获取新的任务来执行. 

  调用线程执行, 可以通过两种方式,

    一种是调用start()方法, 这种在多线程使用时,  创建线程, 每个线程调用的自己的方法, 是并行发生的.

    一种是调用run()方法, 这种是同步运行的. 

  线程池不是每次执行任务时调用Thread.start()方法, start()方法调是在多线程时调用的方法,

   而线程池调用的是run()方法, 循环的来执行不同的任务. 

 

  再简单一点说:

  线程池是创建了若干线程, 这些线程通过循环的方法来调用队列中任务的run()方法, 来执行任务. 如果没有线程池, 那么每个任务调用都需要创建一个线程, 才能执行任务. 这时如果需要多线程, 那就需要调用start()方法. 

 

线程池复用原理

上一篇:Java8 使用 stream().filter()过滤List对象(查找符合条件的对象集合)


下一篇:H - Happy Matt Friends