下面的Java代码示例使用java DelayQueue来处理任务.但是,从另一个线程插入任务似乎会破坏(我的)预期行为.
抱歉代码示例如此之长,但总结如下:
我从代码示例中获得的输出是:
------initial tasks ---------------
task A due in 0ms
task B due in 9ms
task C due in 99ms
task D due in 999ms
task E due in 9999ms
task F due in 99999ms
------processing--------------------
time = 5 task A due in -1ms
time = 14 task B due in 0ms
time = 104 task C due in 0ms
time = 1004 task D due in 0ms
time = 3003 added task …Run Code Online (Sandbox Code Playgroud)