【常用API】之Runnable实现多线程

Runnable实现多线程,与Thread多线程的区别在于,Thread是继承Thread父类,而Runnable是接口,需要实现Runnable接口,但是两者都是需要重写run()方法,在执行任务之后,都无法获取执行结果的。

Runnable接口实现多线程

  1 //主程序,里面开启运行多个线程
  2 public class _Runnable多线程{
  3     public static void main(String[] args){
  4 
  5      //第一步:多态,声明接口,实例化实现类,得到对象
  6      Thread1 r1 = new Thread1();
  7      Thread2 r2 = new Thread2();
  8      Thread3 r3 = new Thread3();
  9 
 10      //第二步:创建线程对象,将实现类对象放入线程对象,实现Runnable重写方法后,最终还是需要创建Thread类运行
 11      Thread t1  = new Thread(r1);
 12      Thread t2  = new Thread(r2);
 13      Thread t3  =  new Thread(r3);
 14 
 15     //第三步:调用start()方法;
 16     t1.start();
 17     t2.start();
 18     t3.start();
 19 
 20    } 
 21 }
 22 
 23 
 24 
 25 
 26 
 27 //=======================================
 28 //java提供了一个 Runnable接口,
 29 //里面有一个抽象方法 run
 30 //1、自定义类,实现Runnable接口
 31 //2、重写run方法
 32 //3、实例化对象
 33 //4、调用start方法
 34 
 35 // 【显示接口,只是一个接口的实现类】
 36 //创建几个线程
 37 
 38 //线程1
 39 class Thread1 implements Runnable{
 40      
 41      //重写run方法
 42     @Override
 43     public void run(){
 44       for(int i = 1; i<=5; i++){
 45          //休眠
 46          try{
 47               Thread.currentThread().sleep(100);
 48          }catch(InterruptedException e){
 49                      System.out.println("当前操作系统禁止自定义线程休 
 50                       眠!");
 51               }
 52           //结果
 53          System.out.println("t1->"+i);
 54           }
 55 
 56       }
 57 
 58  }
 59 
 60 
 61 
 62 //线程2
 63 class Thread2 implements Runnable{
 64 
 65     @Override
 66     public void run(){
 67       for(int i = 1; i<=5; i++){
 68          //休眠
 69          try{
 70               Thread.currentThread().sleep(100);
 71          }catch(InterruptedException e){
 72                      System.out.println("当前操作系统禁止自定义线程休 
 73                       眠!");
 74               }
 75           //结果
 76          System.out.println("t2->"+i);
 77           }
 78 
 79       }
 80 
 81  }
 82 
 83 
 84 //线程3
 85 class Thread3 implements Runnable{
 86 
 87     @Override
 88     public void run(){
 89       for(int i = 1; i<=5; i++){
 90          //休眠
 91          try{
 92               Thread.currentThread().sleep(100);
 93          }catch(InterruptedException e){
 94                      System.out.println("当前操作系统禁止自定义线程休 
 95                       眠!");
 96               }
 97           //结果
 98          System.out.println("t3->"+i);
 99           }
100 
101       }
102 
103  }
104 
105           
原文地址:https://www.cnblogs.com/jiarenanhao/p/14118685.html