呵呵,当初我学多线程时也遇到过这样的问题,也是输出的结果每次都不一样.后来我找到原因了---都是多核惹得祸. 我猜你的电脑应该也是多核的.单核的cpu在处理多线程时每次只能执行一跳指令,也就是说无论你的程序有多少个线程,每一时刻执行的也只是一个线程里的代码,cpu会轮流给每个线程分配时间片,时间片分配到哪个线程头上,哪个线程里的代码就执行.但是多核cpu就不一样了,他可以同时执行多个线程里的代码,这才是真正的“多线程”.所以你那段程序,在单核的电脑上跑应该是没有问题的,但是在多核cpu的电脑上出