匿名内部类创建线程,简化线程创建代码
Posted huxiaobai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了匿名内部类创建线程,简化线程创建代码相关的知识,希望对你有一定的参考价值。
1 package cn.learn.thread.Thread; 2 /* 3 匿名内部类方式的实现线程的创建 4 5 匿名:没有名字 6 内部类:写在其他类的内部 7 8 作用:简化代码,不用单独写一个类,来设置线程任务 9 把子类继承父类,重写父类方法,创建子类对象合成一部完成 10 或者实现类实现接口,重写接口方法,创建实现类对象一部完成 11 匿名内部类的最终产物:子类/实现类对象,没有名字 12 13 格式: 14 new 父类/接口 15 重写父类/接口方法 16 17 18 */ 19 public class InnerClassThread 20 public static void main(String[] args) 21 //已知父类线程是Thread,继承类 22 new Thread("线程1") 23 //重写run方法设置线程任务 24 25 @Override 26 public void run() 27 for (int i = 0; i < 20; i++) 28 System.out.println(Thread.currentThread().getName()); 29 30 31 32 .start(); //开启线程 33 34 35 //实现接口,多态 Runnable runnableThread = new RunnableImpl(); 36 Runnable run=new Runnable() 37 //重写run方法,设置线程任务 38 @Override 39 public void run() 40 for (int i = 0; i < 20; i++) 41 System.out.println(Thread.currentThread().getName()); 42 43 44 ; 45 //开启实现类的多线程,设置名字 46 new Thread(run,"线程二").start(); 47 48 //上述代码再简化 49 new Thread(new Runnable() 50 //重写run方法,设置线程任务 51 @Override 52 public void run() 53 for (int i = 0; i < 20; i++) 54 System.out.println(Thread.currentThread().getName()); 55 56 57 ,"线程三").start(); 58 59 60
以上是关于匿名内部类创建线程,简化线程创建代码的主要内容,如果未能解决你的问题,请参考以下文章
阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_14_匿名内部类方式实现线程的创建