社区
Java SE
帖子详情
java5里的Semaphore和synchronized+wati+notify的方式有什么优势吗
nongfusq
2010-02-10 01:13:48
java5的java.util.concurrent.Semaphore和java5之前通过synchronized+wati+notify方式相比有什么优势?
...全文
172
5
打赏
收藏
java5里的Semaphore和synchronized+wati+notify的方式有什么优势吗
java5的java.util.concurrent.Semaphore和java5之前通过synchronized+wati+notify方式相比有什么优势?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
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包下面的类都是针对多核优化的,推荐使用,你的代码在多核的机器上才不会变慢。
火龙果被占用了
2010-02-10
打赏
举报
回复
信号量只是提供了一种互斥的机制,使用 wait, notify 也能实现类似的信号量处理,如果 API 提供了信号量的类那我们就应该尽量去使用它。当然了,如果都封装成 API 了,那还提供了一些其他的功能。
java
多线程并发(一)
Semaphore
,volatile,
synchronized
,Lock, CyclicBarrier和CountDownLatch
在并发编程中,我们通常会遇到以下三个问题:原子性问题,可见性问题,有序性问题。我们先看具体看一下这三个概念:1.原子性 原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 一个很经典的例子就是银行账户转账问题 2.可见性 可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。3.有序性 有序性
Semaphore
和
synchronized
的差别
Semaphore
和
synchronized
最主要的差别是
Semaphore
可以指定多个并发,而
synchronized
只能是一个! import
java
.util.concurrent.ExecutorService; import
java
.util.concurrent.Executors; import
java
.util.concurrent.
Semaphore
; p
Semaphore
与
synchronized
区别
synchronized
的语义是互斥锁,就是在同一时刻,只有一个线程能获得执行代码的锁。但是现实生活中,有好多的场景,锁不止一把。 比如说,又到了十一假期,买票是重点,必须圈起来。在购票大厅
里
,有5个售票窗口,也就是说同一时刻可以服务5个人。要实现这种业务需求,用
synchronized
显然不合适。 查看
Java
并发工具,发现有一个
Semaphore
类,天生就是处理这种情况的。 先用Sema...
浅谈
synchronized
、Lock、ThreadLocal和
semaphore
浅谈
synchronized
、Lock、ThreadLocal和
semaphore
- 格式化版本 1. 背景 在进行多线程编程时,最让人头痛的无非是线程安全问题,对共享资源的访问控制,如果稍加不注意就可能导致莫名其名错误,主要体现有: 创建单例对象时,内存中可能存在多个实例。 一个线程正在读取数据,由于另一个写线程的介入,可能导致读线程读取到的数据脏乱不堪。 同一对象可能同时被...
深入理解
Java
中的
synchronized
关键字
synchronized
的详细讲解和底层实现,以及
synchronized
的同步机制,
synchronized
的重入和
synchronized
的异常演示
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章