有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓 Java从队列中检索所有元素,直到队列为空

我想在安卓/java中实现元素的队列,这样

  1. 当我在队列中插入一个元素时,如果该元素是队列中唯一的元素,那么该元素将立即开始执行
  2. 如果队列中有其他元素,它们将依次执行
  3. 一旦执行了所有元素,队列将等待插入新元素。插入元素后,它将再次开始执行

此场景中使用的最佳集合是什么?是否有任何集合提供的满足条件3的默认回调

我能想到的一个实现是在我的队列推进中编写一个方法,类似于

public static void executeNext() {
    Executor element = getFirst();
    if (element != null && element.doneExecuting()) {
        pop();
    }

    Executor next = getFirst();
    next.execute();
}

一旦执行完成,它将从我的Executor类对象(它是我队列的一个元素)调用

public void onExceutionComplete(){
    ExecutionQueue.getInstance().executeNext();
}

共 (2) 个答案

  1. # 1 楼答案

    为什么不尝试实现一个侦听器,它将继续侦听队列

    这将确保新条目一出现,就开始执行

  2. # 2 楼答案

    您需要的内容在JavaDoc中描述。有一个名为SerialExecutor的实现可能适合您的问题