Lambda 线程创建
时间: 2023-09-04 22:10:14 浏览: 124
利用Lambda表达式创建新线程案例
Lambda 表达式可以用于线程的创建和执行,以下是一个简单的线程创建的例子:
```
new Thread(() -> {
System.out.println("Hello, world!");
}).start();
```
在这个例子中,我们使用 Lambda 表达式创建了一个新的线程,并在其中输出了一条消息。具体来说,我们使用 `new Thread()` 方法创建了一个新的线程对象,其中的参数是一个 Lambda 表达式,表示线程要执行的任务。Lambda 表达式中的代码会在新线程中执行。最后,我们使用 `start()` 方法启动了新线程。
除了线程的创建,Lambda 表达式还可以用于线程池的创建和任务的提交。例如,我们可以使用 Lambda 表达式创建一个线程池,并提交一些任务:
```
ExecutorService executor = Executors.newFixedThreadPool(10);
for (int i = 0; i < 100; i++) {
executor.submit(() -> {
System.out.println("Hello, world!");
});
}
executor.shutdown();
```
在这个例子中,我们使用 `Executors.newFixedThreadPool(10)` 方法创建了一个大小为 10 的线程池,然后使用 `executor.submit()` 方法提交一些任务。其中的参数是一个 Lambda 表达式,表示任务要执行的内容。Lambda 表达式中的代码会在线程池中的某个线程中执行。最后,我们使用 `executor.shutdown()` 方法关闭了线程池。
Lambda 表达式可以大大简化线程的创建和执行的代码,提高代码的可读性和可维护性。但是,在使用 Lambda 表达式时,需要注意线程安全的问题,避免出现并发问题。
阅读全文