匿名内部类创建线程,简化线程创建代码

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 

 

以上是关于匿名内部类创建线程,简化线程创建代码的主要内容,如果未能解决你的问题,请参考以下文章

JAVA线程创建和匿名内部类

匿名内部类创建多线程

Java多线程-----匿名内部类创建线程

java 多线程-lambda和匿名内部类

阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_14_匿名内部类方式实现线程的创建

多线程知识