资讯专栏INFORMATION COLUMN

lambda初步了解的代码,与传统方式的比较

Gilbertat / 3227人阅读

摘要:使用实现接口的方式实现多线程程序创建接口的实现类对象创建类对象构造方法中传递接口的实现类调用方法开启新线程执行方法简化代码使用匿名内部类实现多线程程序新线程创建了简化代码新线程创建了创建接口的实现类重写方法设置线程任务新线程创建了表达式的标

package com.itheima.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 com.itheima.demo03.Lambda;
/*

创建Runnable接口的实现类,重写run方法,设置线程任务

*/
public class RunnableImpl implements Runnable{

@Override
public void run() {
    System.out.println(Thread.currentThread().getName()+" 新线程创建了");
}

}
package com.itheima.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();
}

}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75995.html

相关文章

  • JavaScript 函数式编程到底是个啥

    摘要:函数是一等公民。其实闭包本身也是函数式编程的一个应用。劣势不能算是严格意义上的函数式语言,很多函数式编程的特性并没有。 随着大前端时代的到来,在产品开发过程中,前端所占业务比重越来越大、交互越来越重。传统的老夫拿起JQuery就是一把梭应付当下重交互页面已经十分乏力。于是乎有了Angular,React,Vue这些现代框架。 但随之而来的还有大量的新知识新名词,如MVC,MVVM,Fl...

    denson 评论0 收藏0
  • JavaScript 函数式编程到底是个啥

    摘要:函数是一等公民。其实闭包本身也是函数式编程的一个应用。劣势不能算是严格意义上的函数式语言,很多函数式编程的特性并没有。 随着大前端时代的到来,在产品开发过程中,前端所占业务比重越来越大、交互越来越重。传统的老夫拿起JQuery就是一把梭应付当下重交互页面已经十分乏力。于是乎有了Angular,React,Vue这些现代框架。 但随之而来的还有大量的新知识新名词,如MVC,MVVM,Fl...

    Aomine 评论0 收藏0
  • MyBatis-Plus初步

    摘要:是最流行的关系型数据库管理系统之一,在应用方面,是最好的,关系数据库管理系统应用软件。是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 本章主要是对MyBatis-Plus的初步介绍,包括一些背景知识、环境搭建、初步使用等知识和例子。对于背景知识,主要包含对MyBatis-Plus的特性介绍、为什么使用MyB...

    娣辩孩 评论0 收藏0
  • 函数式编程思维在三行代码情书中应用

    摘要:函数式编程概述如今主流的编程语言,函数式编程范式或多或少都融入其中成了标配,或者说主流语言都在进行函数式方面的扩充,这是一个大趋势。 showImg(https://segmentfault.com/img/remote/1460000015089083); 函数式编程概述 如今主流的编程语言,函数式编程范式或多或少都融入其中成了标配,或者说主流语言都在进行函数式方面的扩充,这是一...

    DC_er 评论0 收藏0
  • Java深入-框架技巧

    摘要:从使用到原理学习线程池关于线程池的使用,及原理分析分析角度新颖面向切面编程的基本用法基于注解的实现在软件开发中,分散于应用中多出的功能被称为横切关注点如事务安全缓存等。 Java 程序媛手把手教你设计模式中的撩妹神技 -- 上篇 遇一人白首,择一城终老,是多么美好的人生境界,她和他历经风雨慢慢变老,回首走过的点点滴滴,依然清楚的记得当初爱情萌芽的模样…… Java 进阶面试问题列表 -...

    chengtao1633 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<