关于ScheduledExecutorService.shceduleAtFixedRate
的问题-我安排taskA
每500毫秒运行一次,这会阻塞1000毫秒。现在,随后的处决不再等待额外的500毫秒,而是在前一个之后立即开始。
taskA
获取一个内部锁,该锁也由另一个线程获取(尝试)。由于内在锁没有公平性,无法保证此线程有饥饿的危险,所以这是我的问题:是否有好的/干净的方法来避免这种危险?例如。安排任务每1500毫秒运行一次(听起来不是很防水)吗?还是我们期望锁获得一种“摊销的公平性”?