什么?都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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!