多线程同时运行时,谁先执行,谁后执行,完全是看CPU心情的,无法控制先后,运行时可能没什么问题,但是调试时就比较麻烦了,最明显的就是断点乱跳,一会儿停这个线程,一会儿停在另一个线程,比如下图:

    多线程调试 - 图1

    如果想希望下一个断点位置是第2句诗句,可能要失望了:

    多线程调试 - 图2

    如果想让线程在调试时,想按自己的愿意来,让它停在哪个线程就停在哪个线程,可以在图中3个断点的小红点上右击,

    多线程调试 - 图3

    即:Suspend挂起的条件是按每个线程来,而非All。把这3个断点都这么设置后,再来一发试试

    多线程调试 - 图4

    注意上图中的红框位置,断点停下来时,这个下拉框可以看到各个线程(注:给线程起个容易识别的名字是个好习惯!),我们可以选择线程“天空中的飞鸟”

    多线程调试 - 图5

    断点如愿停在了第2句诗。