java实现多线程的方法
提示:java实现多线程主要有三种方式,继承Thread,实现Runnable接口和实现Callable接口
前言
多线程指单个进程(程序)可以并行执行多个线程,在同一时间执行多个线程以提高程序的处理能力和运行效率,并有利于更好地运用系统资源。
提示:以下是本篇文章正文内容,下面案例可供参考
一、多线程主要实现方法
1.继承Thread
实现:创建 Thread01线程测试类 并继承 Thread类
public class Thread01 extends Thread{
@Override
public void run() {
System.out.println("HelloWorld");
System.out.println("【Thread01】线程名:"+Thread.currentThread().getName());
}
public static void main(String[] args) {
Thread01 t01 = new Thread01();
t01.start();
System.out.println("【主线程】线程名:"+Thread.currentThread().getName());
}
}
运行如下:
2.实现Runnable接口
实现:创建 Thread02线程测试类 并实现Runnable接口
public class Thread02 implements Runnable{
@Override
public void run() {
System.out.println("Runnable");
System.out.println("【Thread02】线程名:"+Thread.currentThread().getName());
}
public static void main(String[] args) {
Thread02 t02 = new Thread02();
Thread thread = new Thread(t02);
thread.start();
System.out.println("【主线程】线程名:"+Thread.currentThread().getName());
}
}
运行如下:
3.实现Callable接口
注意!!!
Callable接口是一个有返回值的线程接口,通过get()获取返回值
并要通过FutureTask包装类来创建线程
实现:创建 Thread03线程测试类 并实现Callable 接口
public class Thread03 implements Callable {
@Override
public String call() throws Exception {
System.out.println("Callable");
String t03Name = Thread.currentThread().getName();
return "【Thread03】线程名:"+t03Name;
}
public static void main(String[] args) throws ExecutionException, InterruptedException {
Thread03 t03 = new Thread03();
//通过创建FutureTask类来创建Thread线程
FutureTask t03Task = new FutureTask(t03);
new Thread(t03Task).start();
System.out.println("【主线程】线程名:"+Thread.currentThread().getName());
//获取Thread03返回来的值
System.out.println(t03Task.get());
}
}
运行如下: