如何实现线程的FIFO队列?

Rys*_*Rys 1 java multithreading

如何实现线程的FIFO队列(要执行的任务)和逐个执行线程?我的意思是,例如,取第一个线程并运行它,第二个线程必须等待第一个线程的执行结束.同时我必须能够将线程(任务)添加到队列中.

Jea*_*art 7

创建一个只有一个线程的FixedThreadPool并向其提交任务.它们将一个接一个地执行,就像在FIFO队列中一样:

ExecutorService es = Executors.newFixedThreadPool(1); // one thread only
// ...
for(Runnable r : myRunnables) {
    es.submit(r);
}
Run Code Online (Sandbox Code Playgroud)