间隔打印A,B:
注意点:如果使用if,会使此处 处于wait状态线程被唤醒, 状态改变没有及时响应直接往下执行,可能 出现重复打印A或B; 使用while可以再次校验; (!){ .wait()}
Print { =() InterruptedException { (!){ .wait()} System..println()= .notify()} () InterruptedException { (){ .wait()} System..println()=.notify()} }
A Thread { Print (Print p) { .= p} () { .run()(){ { .printA()Thread.()} (InterruptedException e) { e.printStackTrace()} } } }
B Thread { Print (Print p) { .= p} () { .run()(){ { .printB()Thread.()} (InterruptedException e) { e.printStackTrace()} } } }
打印效果:
A A A A A
B B B B B
A A A A A
B B B B B
A A A A A
B B B B B
A A A A A
B B B B B
A A A A A
B B B B B
A A A A A
B B B B B
A A A A A
B B B B B
A A A A A
B B B B B
A A A A A
时间: 2024-10-01 13:09:28