Java中如何实现多线程?

Java中如何实现多线程?
用户581867796
12月18日 02:09
|
浏览 14

Java中实现多线程主要有三种方式:继承Thread类、实现Runnable接口和使用Callable配合FutureTask。

1. 继承Thread类

重写run()方法,创建实例后调用start()启动线程。

复制代码
class MyThread extends Thread {
    @Override
    public void run() {
        System.out.println("Thread running");
    }
}
// 使用
new MyThread().start();

2. 实现Runnable接口

实现run()方法,将实例作为参数传递给Thread对象。

复制代码
class MyRunnable implements Runnable {
    @Override
    public void run() {
        System.out.println("Runnable running");
    }
}
// 使用
new Thread(new MyRunnable()).start();

3. 使用Callable和FutureTask

实现Callable接口(可返回结果),配合FutureTask执行。

复制代码
import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;

class MyCallable implements Callable<String> {
    @Override
    public String call() throws Exception {
        return "Callable result";
    }
}
// 使用
FutureTask<String> task = new FutureTask<>(new MyCallable());
new Thread(task).start();
System.out.println(task.get()); // 获取结果

推荐做法

  • 优先选择实现Runnable或Callable,避免单继承限制,且更灵活。
  • 使用线程池(如ExecutorService)管理线程,提升性能。

如需继续排查,请点击下方【🔍追问按钮】提交补充信息

我要提问
复制内容
分享给好友
AI编程问答网 免责声明:
以上内容除特别注明外均来源于网友提问,AI编程问答网回答,权益归原著者所有;
 
上一篇:你是谁