java 中的信号量和线程池有啥区别

cnaaa8 2016-04-26 11:35:33
1.java 中的信号量和线程池有啥区别,比如我用Executors.newFixedThreadPool(3)和 用 newCachedThreadPool 、new Semaphore(3) 有什么区别呢?不都是可以控制同时执行的线程数吗? 假如一次性过来20个线程,newFixedThreadPool 会把多余的线程放入等待队列,然后每次里面保证3个线程,而newCachedThreadPool 、new Semaphore(3) 结合只不过是手动加锁和释放信号量而已,有什么区别呢?
2.Executors.newFixedThreadPool(3) 、 new Semaphore(3)一起使用,是不是有点多余了
...全文
299 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sky夜名 2016-05-09
  • 打赏
  • 举报
回复
多线程是提高并发量,信号量是控制并发。 分不清基本是基础使用问题,逻辑不明确,中间可能有个缓冲过渡之类的。
cnaaa8 2016-05-08
  • 打赏
  • 举报
回复
没人么,人工置顶
cnaaa8 2016-04-29
  • 打赏
  • 举报
回复
没人么,人工置顶

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧