多线程——Runnable接口

Posted zhai1997

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程——Runnable接口相关的知识,希望对你有一定的参考价值。

以实现Runable接口的方式创建线程比继承Thread类有很大的优越性,因为类不能多重继承,即一个类只能继承一个类,那么如果该类已经继承了一个类,就不能实现多线程了,但是可以通过实现Runable接口的方式实现多线程。

1、Runnable实现多线程

package pers.zhb.runnable;

public class MyThread implements Runnable

    public void run() 
        for (int i = 0; i < 20; i++) 
            System.out.println(Thread.currentThread().getName()+":正在执行!"+i);
        
        
    

package pers.zhb.runnable;

public class RunnableDemo 
public static void main(String[] args) 
    MyThread mt=new MyThread();
    Thread  t2=new Thread(mt);//Thread类本质上也是实现了Runnable接口,但是Run方法是空的
    t2.start();
    for (int i = 0; i < 20; i++) 
        System.out.println("主函数线程!"+i);
    
    System.out.println("主函数执行结束了");
    

2、join()方法的使用

主线程在子线程运行结束后才开始运行。

package pers.zhb.runnable;

public class MyThread implements Runnable

    public void run() 
        for (int i = 0; i < 20; i++) 
            System.out.println(Thread.currentThread().getName()+":正在执行!"+i);
        
        
    

package pers.zhb.runnable;

public class RunnableDemo 
    public static void main(String[] args) throws InterruptedException 
        MyThread mt = new MyThread();
        Thread t1 = new Thread(mt);

        t1.start();

        t1.join();

        for (int i = 0; i < 20; i++) 
            System.out.println("主函数线程!" + i);
        

        System.out.println("主函数执行结束了");

    

技术图片

 

以上是关于多线程——Runnable接口的主要内容,如果未能解决你的问题,请参考以下文章

为啥要实现Runnable接口,来实现多线程?把Thread作为父类则不能呢?

多线程——Runnable接口

JAVA多线程继承Thread 与实现Runnable接口的相关疑问

简答题实现runnable接口创建线程并在线程内提示线程名称等相关信息?

Java多线程和并发,Thread类和Runnable接口

Java多线程:实现Runnable接口创建线程方式详解