偶然发现一个问题……执行多线程 、一个线程循环输出1到26,另外一个线程输出A到Z。将两个线程定义成synchronized、 第一个线程输出1的时候让线程 一直等待状态,另外一个线程 一直执行直到输出完毕。理论上不应该输出2的 但是我执行的时候最后会出现2 然后线程 一直等待状态,求大神解答~ 输出结果是1 A B C …… Y Z 2 等待状态~ 求解 - -
调试欢乐多
输出1,26的那个线程是先输出数字的,然后进入等待的,所以输出2后停在那是对的.
因为你的输出的顺序是: 1, A...Z(数字先输出的).
输出2后进入等待,但是输出A..Z的线称已经结束了,不会去唤醒输出数字的线程了。