ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Runnabler

2020-07-05 22:03:43  阅读:30  来源: 互联网

标签:Runnable run Thread 线程 new Runnabler public


package demo03.Lambda;
/*
创建Runnable接口的实现类,重写run方法,设置线程任务
*/
public class RunnableImpl implements Runnable{
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+" 新线程创建了");
}
}

package demo03.Lambda;
/*
使用实现Runnable接口的方式实现多线程程序
*/
public class Demo01Runnable {
public static void main(String[] args) {
//创建Runnable接口的实现类对象
RunnableImpl run = new RunnableImpl();
//创建Thread类对象,构造方法中传递Runnable接口的实现类
Thread t = new Thread(run);
//调用start方法开启新线程,执行run方法
t.start();

    //简化代码,使用匿名内部类,实现多线程程序
    Runnable r = new Runnable(){
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName()+" 新线程创建了");
        }
    };
    new Thread(r).start();

    //简化代码
    new Thread(new Runnable(){
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName()+" 新线程创建了");
        }
    }).start();
}

}

package demo03.Lambda;
/*
Lambda表达式的标准格式:
由三部分组成:
a.一些参数
b.一个箭头
c.一段代码
格式:
(参数列表) -> {一些重写方法的代码};
解释说明格式:
():接口中抽象方法的参数列表,没有参数,就空着;有参数就写出参数,多个参数使用逗号分隔
->:传递的意思,把参数传递给方法体{}
{}:重写接口的抽象方法的方法体
*/
public class Demo02Lambda {
public static void main(String[] args) {
//使用匿名内部类的方式,实现多线程
new Thread(new Runnable(){
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+" 新线程创建了");
}
}).start();

    //使用Lambda表达式,实现多线程
    new Thread(()->{
            System.out.println(Thread.currentThread().getName()+" 新线程创建了");
        }
    ).start();

    //优化省略Lambda
    new Thread(()->System.out.println(Thread.currentThread().getName()+" 新线程创建了")).start();
}

}

标签:Runnable,run,Thread,线程,new,Runnabler,public
来源: https://www.cnblogs.com/hk18181358129/p/13252089.html

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有