目录
提示:以下是本篇文章正文内容,下面案例可供参考
一、Java中实现多线程有几种方法
1.继承Thread类,重写run()方法
代码如下(示例):
public class MyThread extends Thread {
@Override
public void run() {
//do something;
};
}
2.实现Runnable 接口,重写run()方法
代码如下(示例):
class A implements Runnable {
}
Thread thread = new Thread(A); //Thread有一个构造器参数的类型类型时Runnable
//Runnable 是函数式接口(即里面只有一个抽象方法),可以使用lambda表达式
Thread thread = new Thread(() -> {// do something;};);
thread.start(); //启动线程
3.实现Callable接口通过FutureTask包装器来创建Thread线程;
使用ExecutorService、Callable、Future实现有返回结果的多线程(也就是使用了ExecutorService来 管理前面的三种方式)。
总结
1和2 的区别不大。
使用 实现 Runnable接口 的好处
1.使用实现接口Runnable 的方法可以避免单继承的限制。
2.更适合多线程共享同一个资源的情况