在Java中,可以使用两个线程交替打印数字。以下是一个示例代码:
public class AlternatePrinting {
public static void main(String[] args) {
Object lock = new Object();
Runnable printOdd = () -> {
synchronized(lock) {
for (int i = 1; i <= 10; i += 2) {
System.out.println(i);
lock.notify();
try {
lock.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
Runnable printEven = () -> {
synchronized(lock) {
for (int i = 2; i <= 10; i += 2) {
System.out.println(i);
lock.notify();
try {
lock.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
Thread oddThread = new Thread(printOdd);
Thread evenThread = new Thread(printEven);
oddThread.start();
evenThread.start();
}
}
在这个示例中,我们创建了两个线程,一个线程负责打印奇数,另一个线程负责打印偶数。通过使用wait()和notify()方法,我们可以使两个线程交替打印数字。注意,我们使用一个共享锁对象来实现线程之间的同步。