On Thu, 20 Feb 2020 10:37:34 GMT, littlefreaky 
<github.com+1434627+littlefre...@openjdk.org> wrote:

>>> I don't see any stray commits, so it looks like your branch is based off of 
>>> master correctly.
>>> 
>>> One thing I would ask you to change is that the title of this PR should 
>>> exactly match the title of the JBS bug. So can you change it to:
>>> 
>>> ```
>>> 8176499: Dependence on java.util.Timer freezes screen when OS time resets 
>>> backwards
>>> ```
>> 
>> apologies, all done
> 
> I have a question about the scheduling of the task: 
> The old code used Timer.schedule(TimerTask,long,long) which schedules the 
> task for repeated fixed-delay execution.
> The new code uses ScheduledThreadPoolExecutor.scheduleAtFixedRate​(Runnable, 
> long, long, TimeUnit) which schedules the task for repeated fixed-rate 
> execution.
> 
> Now I think that scheduling at fixed rate would be the correct way as we want 
> to reach 60 pulses per second. But my question is: Can this lead to problems 
> if the work done per pulse takes longer than 16ms? The scheduleAtFixedRate 
> does queue subsequent executions if the previous task takes too long. 
> Couldn't this lead to an task queue overflow if the system is overloaded? Do 
> we need to add protection for that scenario?

I may be wrong, but looking at the source code for both java.util.Timer.java 
and ScheduledThreadPoolExecutor.java, they both appear to grow their respective 
queues if needs be. So i don't think the proposed solution is any worse in that 
respect.

-------------

PR: https://git.openjdk.java.net/jfx/pull/117

Reply via email to