在Java中,可以使用Thread类和Runnable接口来实现多线程

```java public class MultiThreadExample {

public static void main(String[] args) {
    // 创建两个线程任务
    Runnable task1 = () -> {
        for (int i = 0; i < 5; i++) {
            System.out.println("Task 1: " + i);
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    };

    Runnable task2 = () -> {
        for (int i = 0; i < 5; i++) {
            System.out.println("Task 2: " + i);
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    };

    // 创建两个线程并将任务分配给它们
    Thread thread1 = new Thread(task1);
    Thread thread2 = new Thread(task2);

    // 启动线程
    thread1.start();
    thread2.start();

    // 等待线程执行完成
    try {
        thread1.join();
        thread2.join();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    System.out.println("All tasks completed.");
}

} ```

在这个示例中,我们创建了两个Runnable任务,每个任务都会打印0到4的数字。然后,我们创建了两个Thread对象,并将这两个任务分别分配给它们。接下来,我们启动这两个线程,并使用join()方法等待它们执行完成。***我们打印出"All tasks completed.",表示所有任务都已执行完毕。