Java异步SmoothRateLimiter

时间:2019-05-04 19:00:51

标签: java scheduler

我一直想知道为什么SmoothRateLimiter的Guava实现必须同步(获取)。

这意味着,如果我有数十或数百个RateLimiters,则必须有数十或数百个锁定线程,这似乎不理想。

理想情况下,我们可以有类似的东西

for (Config configsPerRatelimiter: configsPerRatelimiters){
    new RateLimiter(configsPerRatelimiter, sharedScheduler, sharedExecutor).submit(myTask)
}

那时的调度程序(单线程)和执行程序(线程池)可以在所有RateLimiter之间共享。

我找不到任何在线实现都可以很好地解决这一问题,而不会受到阻碍。

0 个答案:

没有答案