小编pie*_*die的帖子

在Java中,有没有办法检查Runnable是否在单线程中完成?

在Java中,我需要获取两个参数,Runnable和Delay,单位是毫秒,并且需要在延迟时间内运行Runnable。这需要在单线程中运行,如果使用不同的参数值调用该方法并且前一个任务尚未完成,则应将其保留在队列中。

public void runScheduledTask(Runnable task, long delay) {
   // ...
}

...

runScheduledTask(task1, 10); // at 00:00:00.000
runScheduledTask(task2, 10); // at 00:00:00.005
Run Code Online (Sandbox Code Playgroud)

当用task2调用该方法时,task1尚未开始/完成,因为有延迟10,因此task2应该存储在队列中。在这种情况下,有没有办法检查任务 1 是否已完成?由于这应该在当前线程中运行,所以我不知道可以使用哪些类或工具。

java multithreading single-threaded runnable

3
推荐指数
1
解决办法
3912
查看次数

标签 统计

java ×1

multithreading ×1

runnable ×1

single-threaded ×1