@SpringBootTest
class AlluxioApplicationTests {
static volatile int num=0;
static volatile int status =1;
@Test
public void test() {
Thread A = new Thread(() -> {
for (;;) {
while (status==1) {
System.out.println(Thread.currentThread().getName()+"=="+ ++num);
if(num>=10)
{
break;
}
if(num%3==1)
{
status =2;
}
}
if (num>=10) {
break;
}
}
});
Thread B = new Thread(() -> {
for (;;) {
while (status==2) {
System.out.println(Thread.currentThread().getName()+"=="+ ++num);
if(num>=10)
{
break;
}
if(num%3==2)
{
status =3;
}
}
if (num>=10) {
break;
}
}
});
Thread C = new Thread(() -> {
for (;;) {
while (status==3) {
System.out.println(Thread.currentThread().getName()+"=="+ ++num);
if(num>=10)
{
break;
}
if(num%3==0)
{
status =1;
}
}
if (num>=10) {
break;
}
}
});
A.start();
B.start();
C.start();
}
}