新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

Java 开启多线程常见的4种方法,java开启多线程调用同一个方法

发布时间:2023-08-15 07:59:01

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

Java 开启多线程常见的4种方法以下:
1. 继承 Thread 类:
创建一个继承自 Thread 类的子类,并重写 run() 方法。然后通过创建该子类的对象来开启线程。
```java
class MyThread extends Thread {
public void run() {
// 线程履行的代码
}
}
// 创建线程对象并开启线程
MyThread thread = new MyThread();
thread.start();
```
2. 实现 Runnable 接口:
创建一个实现了 Runnable 接口的类,并实现 run() 方法。然后通过创建该类的对象,并将其传递给 Thread 的构造函数来开启线程。
```java
class MyRunnable implements Runnable {
public void run() {
// 线程履行的代码
}
}
// 创建线程对象并开启线程
Thread thread = new Thread(new MyRunnable());
thread.start();
```
3. 使用 Callable 和 FutureTask:
创建一个实现了 Callable 接口的类,并实现 call() 方法。然后创建一个 FutureTask 对象,将 Callable 对象作为参数传递给 FutureTask 的构造函数。最后通过创建 Thread 对象,将 FutureTask 对象作为参数传递给 Thread 的构造函数来开启线程。
```java
class MyCallable implements Callable {
public Integer call() throws Exception {
// 线程履行的代码
return 1;
}
}
// 创建 Callable 对象和 FutureTask 对象
Callable callable = new MyCallable();
FutureTask futureTask = new FutureTask<>(callable);
// 创建线程对象并开启线程
Thread thread = new Thread(futureTask);
thread.start();
```
4. 使用线程池:
使用 Executors 类提供的静态方法创建一个线程池对象,然后将需要履行的任务提交给线程池进行处理。
```java
ExecutorService executorService = Executors.newFixedThreadPool(10);
Runnable task = new Runnable() {
public void run() {
// 线程履行的代码
}
};
// 提交任务给线程池处理
executorService.submit(task);
// 关闭线程池
executorService.shutdown();
```