请使用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();
}
}
在这个案例中,我们创建了两个线程thread1
和thread2
。thread1
负责打印数字1到5,而thread2
负责打印数字6到10。通过为每个数字添加一些延迟,我们可以观察到两个线程的执行速度差异。
当你运行这个程序时,你应该会看到两个线程交替执行,因为它们都在争夺CPU资源。
请注意,由于线程调度是由操作系统控制的,因此每次运行程序时,线程的执行顺序可能会有所不同。