一。实现多线程的第一种方式
1.继承Thread类
/** * 继承Thread类, 重写run方法 */ public class MyThread extends Thread{ //重写run方法 @Override public void run(){ //写线程要执行的业务,比如我打印一个句话 System.out.println("这是一个线程"); } }
2.启用这个线程
/** *启动线程 */ public class StartThread extends Thread{ //在mian方法中执行多线程 public static void main(String[] args) { //创建MyThread 实例 MyThread myThread = new MyThread(); //启动线程 myThread.start(); } }
二。实现多线程的第二种方式
1. 实现Runnable接口
/** * 实现Runnable类, 重写run方法 */ public class MyThread implements Runnable{ //重写run方法 @Override public void run(){ //写线程要执行的业务,比如我打印一个句话 System.out.println("这是一个线程"); } }
2.启用这个线程
/** *启动线程 */ public class StartThread extends Thread{ //在mian方法中执行多线程 public static void main(String[] args) { //创建MyThread 实例 MyThread myThread = new MyThread(); //创建线程 Thread thread = new Thread(myThread); //启动线程 thread.start(); } }
三。实现多线程的第三种方式(注意:这种实现方式会有一个自定义的返回值)
1.实现Callable接口
/** * 实现Callable类, 重写run方法 */ public class MyThread implements Callable<String>{ //重写call方法 @Override public String call() throws Exception{ //写线程要执行的业务,比如我返回一个句话 return "这是一个线程"; } }
2.启用这个线程
/** *启动线程 */ public class StartThread extends Thread{ //在mian方法中执行多线程 public static void main(String[] args) { //创建 MyThread 实例 MyThread myThread = new MyThread(); //创建 FutureTask 实例 FutureTask futureTask = new FutureTask(myThread); //创建线程 Thread thread = new Thread(futureTask); //启动线程 thread.start();
try{
//获取线程结果
String str = futureTask.get();
//打印结果
System.out.println( str );
}catch (InterruptedException e){
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}
好像还有一个线程池,具体可以自行参考
文章来源B站,作者:人人都是程序员
仅作个人笔记学习