1 sleep方法暂停当前线程后 会给其他线程执行机会 不用考虑其他线程的优先级 但是yield()方法只能让优先级》=自己的线程使用
2 sleep方法会将线程转入阻塞状态 直到经过阻塞时间才回转入就绪状态 而yield()不会将线程转入阻塞状态 而是强制的将它转入就绪状态 。因此可能出现暂停后立马有获得处理器资源被执行
3 sleep生命必须对InterruptedException进行处理 或者抛 或者try catch 而 yield 则没有这种问题
4 sleep() 比 yield()有更好的移植性 因为在不同的操作系统上 对线程的优先级设定上是不一样的
注:线程的优先级是1~10 主线程是5 由主线程生成的线程的优先级默认也是5
Max_PRIORITY 10
Min_PRIORITY 1
Normal_PRIORITY 5
调用start()和run()方法的区别
start()方法是开启自定义的线程
run()方法代表的是用的main方法执行的
利用Thread.currentThread().getName()看是谁执行的