Quantcast
Channel: 《并发实战题(一)》的评论
Browsing all 25 articles
Browse latest View live

作者:方 腾飞

可以尝试自己写一个,锻炼下 :)

View Article



作者:杰iter

不会把,在Semaphore初始化的时候许可的数量就已经固定了

View Article

作者:杰iter

各位看这个是否可行? private static int MAX_EXE_COUNT = 10; private static AtomicInteger count = new AtomicInteger(MAX_EXE_COUNT); public static void main(String[] args) throws InterruptedException, IOException...

View Article

作者:方 腾飞

可以尝试用Semaphore来实现,然后比较下两者之间的性能。

View Article

作者:丁 一

这只是初始的一个许可,并没有说是最大限,不断的release,就可以不断的累积许可。看API描述可知,这个值甚至可以是负数。

View Article


作者:Snway

<blockquote cite="#comment-content-539"> <a href="#comment-539" rel="nofollow">丁 一</a> : 这只是初始的一个许可,并没有说是最大限,不断的release,就可以不断的累积许可。看API描述可知,这个值甚至可以是负数。 </blockquote>...

View Article

作者:yl.w

蛮好。 尝试加了个闭锁,如下 import java.util.Date; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import...

View Article

作者:天水

MAX_QPS/2 因为period的值是500,如果改成1000,可以设成MAX_QPS。

View Article


作者:淘宝天水

对的,结果测试会出现大于max的调用次数。

View Article


作者:淘宝天水

稍微优化了下,但无法做到非常精确。 public class FlowConcurrentController { final static int MAX_QPS = 10; final static Semaphore semaphore = new Semaphore(MAX_QPS); final static AtomicInteger accessCount = new...

View Article

作者:Yole

同意,有实例代码效果更好,无论例子简单复杂

View Article

作者:匿名

why use MAX_QPS/2 instead of MAX_QPS?

View Article

作者:方 腾飞

you can use it . the post just a demo。

View Article


作者:丁 一

这个代码中,如果有一秒的请求很少或请求数根本就是0,那么下一秒的许可就可能因为定时release导致许可超过MAX_QPS个,下一秒的请求数就可以超过MAX_QPS次。

View Article

作者:nicky

semaphore.acquireUninterruptibly(1);这个是代表的将信号量-1么?

View Article


作者:丁 一

是的,就是从当前Semaphore可用的许可中减一。

View Article

作者:Snway

前辈,有其他的示例吗?

View Article


作者:trytocatch

如大家所说,给出的例子有个小问题; ‘杰iter’给出的方案比较漂亮了,不过对于当前没获得许可的请求线程,他采取的是在一个while循环里忙等,这可能不太符合需求;...

View Article

作者:trytocatch

上面的回复有个小错误,调用远程方法前,不是调用tryAcquireShared,而是调用acquireShared

View Article

作者:trytocatch

有个细节没交待,setState并不会唤醒阻塞者,所以还需要借用releaseShared来完成唤醒,重写tryReleaseShared方法,返回true,调用setState之后再调用releaseShared,也可直接将setState写在tryReleaseShared方法里,直接调用releaseShared就可以了。...

View Article
Browsing all 25 articles
Browse latest View live




Latest Images

Pangarap Quotes

Pangarap Quotes

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC