温馨提示×

Java 开启多线程常见的4种方法

小云
139
2023-08-14 13:49:14
栏目: 编程语言

Java 开启多线程常见的4种方法如下:

  1. 继承 Thread 类:

创建一个继承自 Thread 类的子类,并重写 run() 方法。然后通过创建该子类的对象来开启线程。

class MyThread extends Thread {
public void run() {
// 线程执行的代码
}
}
// 创建线程对象并开启线程
MyThread thread = new MyThread();
thread.start();
  1. 实现 Runnable 接口:

创建一个实现了 Runnable 接口的类,并实现 run() 方法。然后通过创建该类的对象,并将其传递给 Thread 的构造函数来开启线程。

class MyRunnable implements Runnable {
public void run() {
// 线程执行的代码
}
}
// 创建线程对象并开启线程
Thread thread = new Thread(new MyRunnable());
thread.start();
  1. 使用 Callable 和 FutureTask:

创建一个实现了 Callable 接口的类,并实现 call() 方法。然后创建一个 FutureTask 对象,将 Callable 对象作为参数传递给 FutureTask 的构造函数。最后通过创建 Thread 对象,将 FutureTask 对象作为参数传递给 Thread 的构造函数来开启线程。

class MyCallable implements Callable<Integer> {
public Integer call() throws Exception {
// 线程执行的代码
return 1;
}
}
// 创建 Callable 对象和 FutureTask 对象
Callable<Integer> callable = new MyCallable();
FutureTask<Integer> futureTask = new FutureTask<>(callable);
// 创建线程对象并开启线程
Thread thread = new Thread(futureTask);
thread.start();
  1. 使用线程池:

使用 Executors 类提供的静态方法创建一个线程池对象,然后将需要执行的任务提交给线程池进行处理。

ExecutorService executorService = Executors.newFixedThreadPool(10);
Runnable task = new Runnable() {
public void run() {
// 线程执行的代码
}
};
// 提交任务给线程池处理
executorService.submit(task);
// 关闭线程池
executorService.shutdown();

0