创建线程
在 Java 中,创建线程主要有两种方式:继承 Thread 类和实现 Runnable 接口。
继承 Thread 类
继承 Thread 类是最简单的一种创建线程的方式,在继承 Thread 类后,需要重写 run 方法,在 run 方法中编写需要执行的代码。然后创建一个线程实例并调用 start 方法,这个方法会启动一个新线程,并且会自动调用 run 方法。
示例代码:
class MyThread extends Thread {
public void run() {
System.out.println("Thread is running...");
}
}
public class Main {
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
}
}
实现 Runnable 接口
实现 Runnable 接口是另一种创建线程的方式,这种方式需要自己创建一个实现了 Runnable 接口的类,并且需要实现 run 方法,在 run 方法中编写需要执行的代码。然后创建一个线程实例并传入实现了 Runnable 接口的类实例,在调用线程实例的 start 方法启动一个新线程。
示例代码:
class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("MyRunnable is running...");
}
}
public class Main {
public static void main(String[] args) {
MyRunnable runnable = new MyRunnable();
Thread thread = new Thread(runnable);
thread.start();
}
}
Lambda 方式创建线程
Lambda 表达式可以简化线程的创建过程。在 Java 8 之后,可以使用 Lambda 表达式创建线程,这种方式比继承 Thread 类或实现 Runnable 接口的方式更加简便。
示例代码:
public class Main {
public static void main(String[] args) {
Thread thread = new Thread(() -> {
System.out.println("Lambda Thread is running...");
});
thread.start();
}
}
配合使用Lambda方式
Lambda 表达式可以与线程的创建方式相结合,用于创建特定的线程实例。
示例代码:
public class Main {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
list.parallelStream().forEach(i -> {
System.out.println(i + " is running in " + Thread.currentThread().getName());
});
}
}
该示例代码中,使用了 Lambda 表达式创建了一个并行流,并使用 forEach 方法循环输出 1 到 10 的数字,并且输出了线程的名称,效果是每个数字在不同的线程中执行,展示了线程的并行执行。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java创建线程及配合使用Lambda方式 - Python技术站