springboot 创建线程池,执行线程
时间: 2023-06-28 22:09:21 浏览: 147
在Spring Boot中创建线程池并执行线程可以使用Java自带的`java.util.concurrent`包中的`ThreadPoolExecutor`类。
下面是一个简单的示例代码:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import org.springframework.stereotype.Component;
@Component
public class MyThreadPool {
private ExecutorService executorService;
public MyThreadPool() {
// 创建一个固定大小的线程池,大小为10
executorService = Executors.newFixedThreadPool(10);
}
public void execute(Runnable task) {
// 提交一个任务给线程池执行
executorService.execute(task);
}
}
```
在上面的代码中,我们创建了一个`MyThreadPool`类,并在构造函数中创建了一个固定大小为10的线程池。然后我们提供了一个`execute`方法,用于提交一个任务给线程池执行。
例如,我们可以创建一个`MyTask`类来表示一个简单的任务,然后在Spring Boot应用程序中调用`MyThreadPool`的`execute`方法来执行该任务。
```java
@Component
public class MyTask implements Runnable {
@Override
public void run() {
System.out.println("MyTask is running...");
}
}
```
在另一个类中,我们可以注入`MyThreadPool`并调用`execute`方法来执行`MyTask`:
```java
@Autowired
private MyThreadPool myThreadPool;
public void doSomething() {
myThreadPool.execute(new MyTask());
}
```
这样,我们就可以通过`MyThreadPool`来创建线程池并执行任务了。
阅读全文