什么?都2024年了你们都不知道多线程的函数式表达?

2024-01-09 23:48:16

什么?都2024年了你们都不知道多线程的函数式表达?

实现多线程有三种方式,每种方式都比较繁琐。
现在程序员的福利有了,通过lambda表达式也可以实现多线程,代码减半,效率增倍。
话不多说看示例:

第一种简化(继承Thread,内部是默认实现了run方法)
public static void main(String[] args) {
        new Thread(() -> {
           for (int i = 0; i < 2; i++) {
               System.out.println("线程1");
           }
        }).start();
}

第二种简化(实现Runnable)
 public static void main(String[] args) {
        new Thread((new Runnable() {
            @Override
            public void run() {
                for (int i = 0; i < 2; i++) {
                    System.out.println("线程2");
                }
            }
        })).start();
}
小知识点:

Thread是实现了Runnable接口,下面是Thread源码

public class Thread implements Runnable {
    public Thread(Runnable target) {
        init(null, target, "Thread-" + nextThreadNum(), 0);
    }
}

我是时生,一个正在努力的小白。欢迎批评,欢迎指正,欢迎共享。 如果这篇文章对你有帮助,麻烦点个赞呗!

文章来源:https://blog.csdn.net/qq_41883461/article/details/135490115
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。