两个都是在不断的循环
1是空循环,但是也会占用cpu资源
2会不断的执行yield()这个函数

解决方案 »

  1.   

    CPU处理线程分为:线程运行时间和调度线程时间。
    对于1和2CPU的处理方式是:运行1(如果1是空循环则在循环
    中循环什么都不作:循环50毫秒,如果不是则运行程序50毫秒,50毫秒后不管有没有运行完while中的程序1被迫停止,CPU交给2运行,交给2运行用的就是CPU的调度线程时间),调度线程,运行2。
      

  2.   

    不好意思,还有一个问题
    为什么大多数的run()方法里都会有sleep()语句?
    如果不加上sleep()的话,线程的执行会有什么变化吗?是不是其他的thread会得到比以前少的执行时间(同优先级下)?
      

  3.   

    如果不加sleep 线程会以很快的速度执行循环体 
    加上sleep可以控制循环体的执行速度
      

  4.   

    使用sleep的原因是当sleep时,线程就在睡觉,而把cpu时间让给其他线程。
    没有sleep,所有的时间都让一个线程独占了