多线程——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作为父类则不能呢?
JAVA多线程继承Thread 与实现Runnable接口的相关疑问