Я хочу создать фоновый поток, обрабатывающий некоторые задачи (Runnable) и выполняющий их в том порядке, в котором они размещены.
Важно: эти задачи НЕ должны выполняться в потоке диспетчера событий.
Что-то вроде:
BackgroundEventThread backgroundEventThread = new BackgroundEventThread();
потом, позже и во многих местах в коде:
Runnable thingToDo = new Runnable(){...};
backgroundEventThread.executeThis(thingToDo);
//the things to do will be executed in the order in which they are posted.
Класс BackgroundEventThread
должен быть довольно простым для кода, но мне было интересно, существует ли такой класс в каком-то неизвестном мне месте в JDK или в какой-то общей библиотеке ...
РЕДАКТИРОВАТЬ : Я не знаю заранее, сколько задач нужно выполнить в этом потоке.
Я мог бы иметь:
- task0 (действительно короткое), происходящее в t0
- task1 (долго обрабатывать ...) происходит
в t0 + 1 с
- задача 2 (короткая) происходит в t0 + 5 с и т. Д.
- task3 (и т. Д. И т. Д.)
И мне нужно, чтобы задача 2 (которую я не знаю заранее) выполнялась после задачи 1, и я хочу, чтобы все эти задачи выполнялись как можно скорее.
Точно так же, как задачи, опубликованные в EDT, но НЕ в EDT.