JAVA中定义两个线程分别打印不同的内容,要求两个线程之间交替执行10次。例如第一个线程打印Hello,第二个线程打印World。其结果为HelloWorld HelloWorld HelloWorld...
时间: 2023-06-19 11:09:18 浏览: 73
java基础教程301集287 两个线程交替打印.mp4
可以使用Java中的Thread和synchronized关键字来实现交替打印的效果,代码如下:
```java
public class AlternatePrinting {
private static Object lock = new Object(); // 定义一个共享锁
public static void main(String[] args) {
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
synchronized(lock) {
System.out.print("Hello");
lock.notify(); // 唤醒其它线程
try {
lock.wait(); // 释放锁并等待其它线程唤醒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
});
Thread thread2 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
synchronized(lock) {
System.out.println("World");
lock.notify(); // 唤醒其它线程
try {
lock.wait(); // 释放锁并等待其它线程唤醒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
});
thread1.start();
thread2.start();
}
}
```
以上代码中,我们定义了一个共享锁 `lock`,两个线程在执行时先获取该锁。一个线程打印完内容后,会唤醒另一个线程并释放锁,让另一个线程获取锁并执行。这样两个线程就可以交替执行,实现了交替打印的效果。
阅读全文