写一个多线程demo,使用ThreadPoolTaskExecutor()
时间: 2023-12-16 14:28:15 浏览: 127
以下是一个使用ThreadPoolTaskExecutor实现多线程的demo:
```java
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
public class MultiThreadDemo {
private ThreadPoolTaskExecutor taskExecutor;
public MultiThreadDemo(ThreadPoolTaskExecutor taskExecutor) {
this.taskExecutor = taskExecutor;
}
public void execute() {
taskExecutor.execute(() -> {
// task1
System.out.println("Task1 is running on thread " + Thread.currentThread().getName());
});
taskExecutor.execute(() -> {
// task2
System.out.println("Task2 is running on thread " + Thread.currentThread().getName());
});
}
}
```
在上面的代码中,我们首先定义了一个MultiThreadDemo类,它接受一个ThreadPoolTaskExecutor对象作为构造函数的参数。然后我们定义了一个execute()方法,在这个方法中,我们使用taskExecutor.execute()方法来提交两个任务,分别是task1和task2。这两个任务会在不同的线程中执行。
如果你想要使用这个demo,你需要先创建一个ThreadPoolTaskExecutor对象,并将它传递给MultiThreadDemo的构造函数。然后你可以调用MultiThreadDemo的execute()方法来执行这个demo。
阅读全文