java5里的Semaphore和synchronized+wati+notify的方式有什么优势吗

nongfusq 2010-02-10 01:13:48
java5的java.util.concurrent.Semaphore和java5之前通过synchronized+wati+notify方式相比有什么优势?
...全文
135 5 打赏 收藏 转发到动态 举报
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
brucest0078 2010-02-11
  • 打赏
  • 举报
回复
机制应该是一样的, Semphore 的作用并不只在于lock 一个thread ,在性能上或许synchonized要高于semphore , 为什么,因为synchonized可以控制lock 的锁粒度,虽然Semphore 可以调整作用域。。
bobo364 2010-02-11
  • 打赏
  • 举报
回复
肯定是有优势的,不然也不会封装成这个类
NCro 2010-02-11
  • 打赏
  • 举报
回复
引用 2 楼 healer_kx 的回复:
concurrent包下面的类都是针对多核优化的,推荐使用,你的代码在多核的机器上才不会变慢。


是的,用concurrent做同步,在多线程时的性能上比sync高的多
healer_kx 2010-02-10
  • 打赏
  • 举报
回复
concurrent包下面的类都是针对多核优化的,推荐使用,你的代码在多核的机器上才不会变慢。
  • 打赏
  • 举报
回复
信号量只是提供了一种互斥的机制,使用 wait, notify 也能实现类似的信号量处理,如果 API 提供了信号量的类那我们就应该尽量去使用它。当然了,如果都封装成 API 了,那还提供了一些其他的功能。
相关推荐

62,567

社区成员

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