如果我有这样的东西
scheduledExecutorService.schedule(task,60, TimeUnit.SECONDS);
在60秒还没有到时,“任务”发生了什么。它会消耗资源吗?因此,下一个问题和我的特定用例是,如果我要安排很多“任务”,那会提高内存/资源的使用效率吗?我的任务期限很短,但我担心将数百个任务调度到ScheduledExecutorService会带来什么影响。
答案 0 :(得分:1)
在60秒还没有到时,“任务”发生了什么。它会消耗资源吗?
它在PriorityQueue中等待,所以是的,它使用了一些资源。
因此,下一个问题和我的特定用例是,如果我要计划很多“任务”,那会提高内存/资源的使用效率吗?
与其将它们存储在队列中一样糟糕。
我的任务期限很短,但是我担心将数百个任务调度到ScheduledExecutorService的含义。
假设每个任务使用1 KB,您将浪费100 KB。可能不是问题。
假设每个任务使用1 GB,则可能有问题。我建议你用另一种方式。