跳到主要内容

请使用Java实现多线程编程案例 ?

参考答案:

当然可以。以下是一个简单的Java多线程编程案例,我们将创建两个线程,它们分别打印数字1到10,但有不同的打印速度。

首先,我们需要一个实现Runnable接口的类:

public class PrintNumber implements Runnable {
    private int start;
    private int end;
    private String threadName;

    public PrintNumber(int start, int end, String threadName) {
        this.start = start;
        this.end = end;
        this.threadName = threadName;
    }

    @Override
    public void run() {
        System.out.println("线程 " + threadName + " 开始执行.");
        for (int number = start; number <= end; number++) {
            System.out.println("线程 " + threadName + " : " + number);
            try {
                // 为了演示目的,我们在每个数字之间添加了一些延迟
                // 这样我们可以观察到两个线程的执行速度差异
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        System.out.println("线程 " + threadName + " 执行结束.");
    }
}

接下来,我们需要在main方法中创建和启动这两个线程:

public class MultiThreadDemo {
    public static void main(String[] args) {
        // 创建两个线程
        Thread thread1 = new Thread(new PrintNumber(1, 5, "线程1"));
        Thread thread2 = new Thread(new PrintNumber(6, 10, "线程2"));

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

在这个案例中,我们创建了两个线程thread1thread2thread1负责打印数字1到5,而thread2负责打印数字6到10。通过为每个数字添加一些延迟,我们可以观察到两个线程的执行速度差异。

当你运行这个程序时,你应该会看到两个线程交替执行,因为它们都在争夺CPU资源。

请注意,由于线程调度是由操作系统控制的,因此每次运行程序时,线程的执行顺序可能会有所不同。