区别?这好比是猫和狗的区别,完全不同的东西!

解决方案 »

  1.   

    怎么不一样了??不都是控制线程数的并发吗
      

  2.   

    线程池控制的是线程数量,而信号量控制的是并发数量,虽然说这个看起来一样,但是还是有区别的。信号量的调用,当达到数量后,线程还是存在的,只是被挂起了而已。而线程池,同时执行的线程数量是固定的,超过了数量的只能等待。
      

  3.   

    线程池是线程复用的;信号量是线程同步的
      

  4.   

    线程池是多个线程异步执行任务,信号量是控制任务中的多线程同步区域。
      

  5.   

    Semaphore 类似于锁机制,而 executor 执行器是一个类似线程池用来执行某个线程一般不会出现任务阻塞。