这段代码是一个简单的多线程示例,使用了Java语言。它创建了两个线程,分别打印字母"A"和"B",并交替执行。
@Test
void demo() {
Object lock = new Object();
new Thread(() -> {
while (index < 100) {
synchronized (lock) {
if (index % 2 == 0) {
System.out.println("A");
index++;
}
}
}
}).start();
new Thread(() -> {
while (index < 100) {
synchronized (lock) {
if (index % 2 == 1) {
System.out.println("B");
index++;
}
}
}
}).start();
}
代码中使用了一个共享的锁对象lock
,通过synchronized
关键字来确保在同一时刻只有一个线程能够访问被锁定的代码块。在每个线程中,使用while
循环来检查index
的值是否小于100,然后根据index
的奇偶性来决定打印"A"还是"B",并将index
递增。
这段代码的作用是模拟两个线程之间的同步操作,确保它们按照预期的顺序交替执行。