Lambda方式创建多线程

一、Lambda表达式的标准格式

  • Lamdba创建线程,是对匿名内部类创建多线程的简化

  • 由三部分组成:

       a、一些参数b、一个箭头c、一段代码
    
  • 格式:

           (参数列表)->{一些重写方法的代码}
    
  • 解释说明:

    ():接口中抽象方法的参数列表,没有参数就为空,有参数就写出参数,多个参数用逗号隔开
    ->:传递的意思,把参数传给方法体
    {}:重写接口的抽象方法的方法体
    

二、Lambda表达式可省略、可推导

  • 可省略的内容(优化):

      1、(参数列表):括号中参数列表中的数据类型,可以省略不写2、(参数列表):括号中的参数如果只有一个,那么类型和()都可以省略3、{一些代码}:如果{}中的代码只有一行,无论是否有返回值,都可以省略({},return,分号)注意:省略{},return,分号必须一起省略。
    

三、代码示例

public class Lambda {public static void main(String[] args) {//匿名内部类创建多线程new Thread(){@Overridepublic void run() {System.out.println(Thread.currentThread().getName()+"创建新线程1");}}.start();//使用Lambda表达式,实现多线程new Thread(()->{System.out.println(Thread.currentThread().getName()+"创建新线程2");}).start();//优化Lambdanew Thread(()-> System.out.println(Thread.currentThread().getName()+"创建新线程3")).start();}}
Thread-0创建新线程1
Thread-1创建新线程2
Thread-2创建新线程3

Lambda方式创建多线程相关推荐

  1. 多线程初探:三种方式创建多线程详细示例

    多线程即在同一时间,可以做多件事情. 创建多线程有3种方式,分别是继承线程类,实现Runnable接口,匿名类 一:线程概念 首先要理解进程(Processor)和线程(Thread)的区别 进程:启 ...

  2. java thread 多线程_java用Thread方式创建多线程

    进程:一个正在执行的程序,每一个进程都有一个执行顺序,该 顺序是一个执行路径,或者叫一个控制单元. 线程:进程中一个独立的控制单元.线程控制着进程的执行. 一个进程中至少有一个线程. java VM中 ...

  3. lambda表达式创建多线程

    1.普通开启多线程 public static void main(String[] args) {new Thread(() -> System.out.println("xzh&q ...

  4. 继承Thread类的方式创建多线程

    package MoreThread;public class MoreThread implements Runnable{@Overridepublic void run() {for(int i ...

  5. 创建多线程的几种方式

    Java中多线程的创建有几种方式? 答:四种. 创建多线程的四种方式: 继承Thread类,实现Runnable接口,jdk5.0以后又增加了两种方式,实现Callable接口和使用线程池. 方式一: ...

  6. 创建多线程的四种方式

    创建多线程的四种方式 方式一:继承于Thread类 创建一个继承于Thread类的子类 重写Thread类的run()->将此线程执行的操作声明在run()中 创建Thread类的子类的对象 通 ...

  7. java的多线程实现方式_java 多线程实现方式

    本文主要是对java 多线程知识的总结,做个记录,温故知新. 多线程有三种实现方式,具体如下. 继承Thread类创建线程类 重写run方法,完成线程需要做的任务. 创建实例 调用start()启动线 ...

  8. Lambda表达式创建线程

    1.传统方式创建一个线程 /*** 传统方式*/private static void thread01(){new Thread(new Runnable() {@Overridepublic vo ...

  9. 实现Callable接口创建多线程

    新增方式一:实现Callable接口 与Runnable相比,Callable功能更强大些 相比run()方法,可以有返回值 方法可以抛出异常 支持泛型的返回值 需要借助FutureTask类,比如获 ...

最新文章

  1. VB.NET 2010 如何在类Class1中调用timer事件 触发 的方法
  2. OJ题目-使用+-|等符号表示数字,进行运算【C语言】
  3. JSP常见的三个编译指令
  4. android 更改edittext内容,Android如何实时更改edittext的内容
  5. 面试官不讲武德,竟然问了我18个JVM问题!
  6. asp.net处理机制管道事件
  7. 博途v16tia项目服务器,博途V16与scout TIA
  8. mysql large pages_Innodb内存管理解析
  9. Visual Studio 2013 中使用断点
  10. 背包之01背包、完全背包、多重背包详解
  11. oracle 10g 各版本下载地址
  12. iOS 手势解锁密码
  13. 财务部计算机操作规程,财务部操作规程.pdf
  14. Java个人网站设计与实现毕业
  15. python3 [入门基础实战] 爬虫入门之刷博客浏览量
  16. java nim游戏_LeetCode算法题-Nim Game(Java实现)
  17. 【软件下载】换新电脑记录下下载的软件时所需地址
  18. 树莓派触摸屏翻转显示以及触摸翻转
  19. 待我君临天下,定许你一世繁华。
  20. 利用计算机网线传东西,如何把文件通过一个网线从一个电脑传到另一个电脑上...

热门文章

  1. 传奇单机架设教程——GOM引擎登录器配置教程
  2. 独家 | 语义视角下的跨学科与跨界数据认知
  3. 95后们,为什么你借不到钱了?
  4. DNS安全性介绍和要求(RFC4033翻译)
  5. 大数据平台常见面试题
  6. 那些鼓舞人心的大电影:
  7. 完美绿色dezend本地版下载
  8. 03 K近邻法——读书笔记
  9. Linux学习笔记-RH135之文件共享系统samba、nfs和iscsi
  10. 机器学习(五)——正规化