java 中的信号量和线程池有啥区别
1.java 中的信号量和线程池有啥区别,比如我用Executors.newFixedThreadPool(3)和 用 newCachedThreadPool 、new Semaphore(3) 有什么区别呢?不都是可以控制同时执行的线程数吗? 假如一次性过来20个线程,newFixedThreadPool 会把多余的线程放入等待队列,然后每次里面保证3个线程,而newCachedThreadPool 、new Semaphore(3) 结合只不过是手动加锁和释放信号量而已,有什么区别呢?
2.Executors.newFixedThreadPool(3) 、 new Semaphore(3)一起使用,是不是有点多余了