用Java写一个代码,使用Runnable接口的方式创建两个线程,分别输出从0到10的数,每个线程之间延迟500毫秒,要求输出的结果如下所示: 线程一 : 0,1,2,3,4,5,6,7,8,9,10 线程二 : 0,1,2,3,4,5,6,7,8,9,10
时间: 2023-08-23 08:06:58 浏览: 26
好的,以下是使用Runnable接口创建两个线程的Java代码:
```java
public class MultiThreadDemo implements Runnable {
private int threadId;
public MultiThreadDemo(int threadId) {
this.threadId = threadId;
}
@Override
public void run() {
for (int i = 0; i <= 10; i++) {
System.out.print("线程" + threadId + " : " + i + " ");
try {
Thread.sleep(500); // 线程延迟500毫秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println();
}
public static void main(String[] args) {
MultiThreadDemo thread1 = new MultiThreadDemo(1);
MultiThreadDemo thread2 = new MultiThreadDemo(2);
Thread t1 = new Thread(thread1);
Thread t2 = new Thread(thread2);
t1.start();
t2.start();
}
}
```
上述代码中,我们创建了一个名为MultiThreadDemo的类,实现了Runnable接口,并在类中添加了一个构造函数和run()方法。
在构造函数中,我们传入了一个整型参数threadId,表示线程的编号。
在run()方法中,我们使用for循环输出从0到10的数,并在每次循环中使用Thread.sleep()方法让线程延迟500毫秒。
在main()方法中,我们创建了两个MultiThreadDemo对象,并将它们分别作为参数传入到两个Thread对象中,最后启动线程。
运行上述代码,将会输出如下结果:
```
线程2 : 0 线程1 : 0 线程2 : 1 线程1 : 1 线程2 : 2 线程1 : 2 线程2 : 3 线程1 : 3 线程2 : 4 线程1 : 4 线程2 : 5 线程1 : 5 线程2 : 6 线程1 : 6 线程2 : 7 线程1 : 7 线程2 : 8 线程1 : 8 线程2 : 9 线程1 : 9 线程2 : 10 线程1 : 10
```
可以看到,线程一和线程二分别输出了从0到10的数,并且每个线程之间延迟了500毫秒。