你的线程在运行时独占资源,当你在调试时,因为调试器会断下你的线程,所以其他线程能够
运行,但当你生成可执行文件时没有什么东西来打断线程的运行,所以当加了一个SLEEP后其
他的线程能运行了,程序也就正常了

解决方案 »

  1.   

    Areslee的说法是对的,多线程运行时要注意每个线程不能长时间占用系统资源(CPU时间等),尤其不能死循环等待,必须在适当的时候交出系统资源控制权让其它线程有机会运行,sleep就起到这个作用。
    调试时中断,让其它线程有机会运行,因此结果正确。
      

  2.   

    可以打开资源管理器查看cpu占用情况,但是一般情况下增加一个线程并不能完全占用cpu,你是否嵌套的还有循环使cpu资源,还有buffer溢出呢