newsinglethreadexecutor 的代码示例
时间: 2023-07-02 20:10:28 浏览: 139
以下是一个使用 `newSingleThreadExecutor` 方法创建单线程池的示例代码:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class SingleThreadExecutorExample {
public static void main(String[] args) {
ExecutorService executor = Executors.newSingleThreadExecutor();
for (int i = 0; i < 5; i++) {
executor.execute(new Task(i));
}
executor.shutdown();
}
static class Task implements Runnable {
private int taskId;
public Task(int id) {
this.taskId = id;
}
@Override
public void run() {
System.out.println("Task #" + this.taskId + " is running on thread " + Thread.currentThread().getName());
}
}
}
```
在这个示例中,我们首先使用 `newSingleThreadExecutor` 方法创建了一个单线程池。然后,我们提交了 5 个任务,每个任务都是一个实现了 `Runnable` 接口的类。这些任务将由单个线程执行。
在 `Task` 类的 `run` 方法中,我们只是简单地打印出了任务 ID 和线程名称,以便我们可以看到任务是在哪个线程上执行的。
最后,我们调用了 `shutdown` 方法来关闭线程池。这将导致线程池不再接受任何新的任务,并且在当前所有任务完成后关闭线程池。
阅读全文