使用 `java.lang.Thread` 类
1.定义一个内部类:
创建一个新的类,并实现 `Runnable` 接口。2.实现实现体:
在实现体中,编写你希望在新线程中执行的代码。使用该接口的方法 `run()` 是执行任务的地方。3.创建线程对象:
通过构造函数接受一个实现了 `Runnable` 的实例并创建一个新的线程类对象。4.启动线程:
调用 `start()` 方法来启动线程。 ```java public class MyThreadExample { public static void main(String[] args) { Thread t1 = new Thread(new Runnable() { @Override public void run() { for (int i = 0; i < 5; i++) { System.out.println("Hello from thread: " + Thread.currentThread().getId()); } } }); t1.start(); } } ```使用 `java.util.concurrent` 包 Java的 `concurrent` 包提供了一系列高级并发工具,例如线程池、同步工具等。
#
使用 `ExecutorService` 和 `ThreadPoolExecutor`
创建一个线程池来管理线程。线程池可以重用现有线程以处理任务队列中的新请求,而不是每次都需要创建新的线程。 ```java import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ThreadPoolExample { public static void main(String[] args) { ExecutorService executor = Executors.newFixedThreadPool(5); for (int i = 0; i < 10; i++) { Runnable task = () -> System.out.println("Task " + Thread.currentThread().getName() + " running..."); executor.execute(task); } // 关闭线程池 executor.shutdown(); } } ```
#
使用 `Future` 和 `Callable`
在并发编程中,经常需要等待任务完成并获取结果。你可以使用 `Future` 接口和 `Callable` 接口来处理这种情况。
```java
import java.util.concurrent.*;
public class FutureExample {
public static void main(String[] args) throws ExecutionException, InterruptedException {
ExecutorService executor = Executors.newSingleThreadExecutor();
Future
相关推荐