Java

java多线程的实现方式有哪几种

小亿
101
2023-09-25 16:24:43
栏目: 编程语言

在Java中,有以下几种实现多线程的方式:

  1. 继承Thread类:创建一个继承自Thread类的子类,并实现run()方法。通过调用子类的start()方法启动新线程。
class MyThread extends Thread {
public void run() {
// 线程要执行的代码
}
}
MyThread thread = new MyThread();
thread.start();
  1. 实现Runnable接口:创建一个实现了Runnable接口的类,并实现其中的run()方法。通过创建Thread对象,将Runnable对象传递给Thread的构造函数,然后调用Thread的start()方法启动新线程。
class MyRunnable implements Runnable {
public void run() {
// 线程要执行的代码
}
}
MyRunnable runnable = new MyRunnable();
Thread thread = new Thread(runnable);
thread.start();
  1. 实现Callable接口:创建一个实现了Callable接口的类,并实现其中的call()方法。通过创建ExecutorService对象,调用其submit()方法提交Callable对象,并获取一个Future对象。可以使用Future对象的get()方法获取线程执行结果。
class MyCallable implements Callable<Integer> {
public Integer call() {
// 线程要执行的代码
return result;
}
}
ExecutorService executor = Executors.newFixedThreadPool(1);
MyCallable callable = new MyCallable();
Future<Integer> future = executor.submit(callable);
Integer result = future.get();
  1. 使用匿名类或Lambda表达式:可以使用匿名类或Lambda表达式来实现Runnable接口。
Runnable runnable = new Runnable() {
public void run() {
// 线程要执行的代码
}
};
Thread thread = new Thread(runnable);
thread.start();

或者

Runnable runnable = () -> {
// 线程要执行的代码
};
Thread thread = new Thread(runnable);
thread.start();

以上是几种常见的实现多线程的方式,每种方式都有其适用的场景,可以根据具体需求选择合适的方式来实现多线程。

0
看了该问题的人还看了