怎么让工具类开启多线程
时间: 2023-07-26 12:26:01 浏览: 60
一个工具类可以开启多线程的方法是,将需要并发执行的任务定义为一个 `Runnable` 或者 `Callable` 对象,然后通过创建多个线程来同时执行这些任务。
下面是一个简单的示例代码:
```java
public class MyUtils {
public static void executeInParallel(Runnable... tasks) {
List<Thread> threads = new ArrayList<>();
for (Runnable task : tasks) {
Thread thread = new Thread(task);
threads.add(thread);
thread.start();
}
for (Thread thread : threads) {
try {
thread.join();
} catch (InterruptedException e) {
// 处理异常
}
}
}
}
```
在上面的代码中,`executeInParallel` 方法接受一个 `Runnable` 数组作为参数,每个元素代表一个需要并发执行的任务。该方法会创建一个线程列表 `threads`,然后遍历 `tasks` 数组,为每个任务创建一个新的线程,将线程添加到 `threads` 列表中并启动线程。
接着,`executeInParallel` 方法会等待所有线程执行完毕,方法中使用了 `join` 方法来等待线程执行完成。`join` 方法会使当前线程等待指定的线程执行完毕,直到指定线程执行结束才会继续执行当前线程。这样保证了所有任务都执行完成后才会返回。
使用该工具类可以很方便地开启多个线程执行多个任务,例如:
```java
MyUtils.executeInParallel(
new MyTask1(),
new MyTask2(),
new MyTask3()
);
```
上面的代码会创建三个线程,分别执行 `MyTask1`、`MyTask2`、`MyTask3` 三个任务。