线程通信之打印12A34B心得

it2023-01-24  53

做打印时发现输出的数字和字母不是连续的。

原因是循环的时候flag不满足条件的那次循环就漏掉了。

查阅资料发现有两种写法:

先唤醒其他线程自己再wait,这样下次再执行的时候是从wait()开始的,不会漏掉一次循环,前提只有一个num一个char线程。

或者把要输出的num变量和循环变量单独定义,这个时候循环变量最大值要比循环次数大一点。如下图:

最新回复(0)