多线程的创建方式---继承Thread和实现Runnable
Posted fangtingfei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程的创建方式---继承Thread和实现Runnable相关的知识,希望对你有一定的参考价值。
继承Thread类创建多线程
1 package cn.ftf.thread; 2 /** 3 * 多线程实现方式一 继承Thread实现多线程,继承Thread,重写run方法 4 * @author 房廷飞 5 * 6 */ 7 public class StartThread extends Thread //对象继承Thread 8 public static void main(String[] args) 9 StartThread st=new StartThread(); //实例化对象 10 st.start(); //通过子对象的start方法启动多线程 11 12 for(int i=0;i<20;i++) 13 System.out.println("一边coding"); 14 15 16 public void run() //重写对象的run方法 17 for(int i=0;i<20;i++) 18 System.out.println("一边听歌"); 19 20 21
实现Runnable接口创建多线程
1 package cn.ftf.thread; 2 /** 3 * 实现多线程方式二 :实现Runnable,重写run方法 4 * 避免单继承局限性,方便共享资源 5 * @author 房廷飞 6 * 7 */ 8 public class StartRun implements Runnable 9 10 public static void main(String[] args) 11 /* 12 //实现方法 13 StartRun st=new StartRun(); //创建实现类对象 14 Thread t=new Thread(st); //创建代理类对象 15 t.start(); //启动 16 */ 17 18 //或简洁写,匿名,合三为一 19 new Thread(new StartRun()).start(); 20 21 for(int i=0;i<20;i++) 22 System.out.println("一边coding"); 23 24 25 @Override 26 public void run() 27 for(int i=0;i<20;i++) 28 System.out.println("一边听歌"); 29 30 31 32 33
实现Runnable接口相对于继承Thread类来说,适合多个相同线程处理同一个资源(如抢票)的情况,可以避免由Java的单继承带来的局限性。
实际应用中,使用实现runnable接口的方式创建多线程的情况要比继承Thread类更常见
以上是关于多线程的创建方式---继承Thread和实现Runnable的主要内容,如果未能解决你的问题,请参考以下文章