在Java中如何使用lambda表达式创建线程?

lambda表达式是在java8中引入的。它是java8最流行的特性之一,它为Java带来了函数式编程功能。通过使用lambda表达式,我们可以直接用Java编写方法的实现。

在下面的程序中,我们可以通过使用Lamda表达式实现Runnable接口来创建线程。 在使用lambda表达式时,我们可以跳过新的runnable()和run()方法,因为编译器知道Thread对象接受一个Runnable对象,并且该对象只包含一个不带参数的方法run()。

示例

public class LambdaThreadTest {
   public static void main(String args[]) {      //子线程
      new Thread(() -> { //Lambda表达
         for(int i=1; i <= 5; i++) {
            System.out.println("子线程: "+ i);
            try {
               Thread.sleep(500);
            } catch(Exception e) {
               e.printStackTrace();
            }
         }
      }).start();      
      //主线程
      for(int j=1; j < 5; j++) {
         System.out.println("主线程: "+ j);
         try {
            Thread.sleep(500);
         } catch(Exception e) {
            e.printStackTrace();
         }
      }
   }
}

输出结果

主线程: 1
子线程: 1
子线程: 2
主线程: 2
主线程: 3
子线程: 3
主线程: 4
子线程: 4
子线程: 5