Java学习-080-多线程13:利用Lambda表达式实现线程类的定义
用较小的代码量可以实现的线程定义,可以通过 Lambda 表达式进行线程类的实现。
源代码示例如下所示:
package com.fanfengping.demo; import lombok.extern.slf4j.Slf4j; /** * 利用Lambda表达式进行线程类的实现定义 */ @Slf4j public class Demo06LambdaRunnable { public static void main(String[] args) { for (int i = 0; i < 6; i++) { String name = "Lambda " + i; Runnable runnable = () -> { for (int j = 0; j < 3; j++) { log.info("线程 {} ,运行 {}", Thread.currentThread().getName(), j); } }; new Thread(runnable, name).start(); } } }
执行程序,输出结果如下所示:
[Lambda 3] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 3 ,运行 0 [Lambda 0] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 0 ,运行 0 [Lambda 3] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 3 ,运行 1 [Lambda 3] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 3 ,运行 2 [Lambda 0] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 0 ,运行 1 [Lambda 1] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 1 ,运行 0 [Lambda 2] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 2 ,运行 0 [Lambda 1] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 1 ,运行 1 [Lambda 2] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 2 ,运行 1 [Lambda 1] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 1 ,运行 2 [Lambda 2] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 2 ,运行 2 [Lambda 5] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 5 ,运行 0 [Lambda 5] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 5 ,运行 1 [Lambda 4] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 4 ,运行 0 [Lambda 4] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 4 ,运行 1 [Lambda 4] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 4 ,运行 2 [Lambda 0] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 0 ,运行 2 [Lambda 5] INFO com.fanfengping.demo.Demo06LambdaRunnable - 线程 Lambda 5 ,运行 2
使用 Lamdba 表达式实现线程定义,代码量较少;但对于业务逻辑复杂的线程实现,不建议采用 Lambda 实现。
欢迎 【 留言 || 关注 || 打赏 】 。您的每一份心意都是对我的鼓励和支持!非常感谢!欢迎互加,相互交流学习!
作者:范丰平,本文链接:https://www.cnblogs.com/fengpingfan/p/14709243.html
Copyright @范丰平 版权所有,如需转载请标明本文原始链接出处,严禁商业用途! 我的个人博客链接地址:http://www.cnblogs.com/fengpingfan
![](https://images.cnblogs.com/cnblogs_com/fengpingfan/2153325/o_220506115434_gzgqrb.png)