Thread.yield()与Thread.sleep(long millis)

 为了避免竞争现象出现,需要调用Thread.yield()与Thread.sleep(long millis),给低优先级或相同优先级的线程运行的机会,两者都是Thread类的静态方法,用于暂停该线程,放在run()方法里面。

 不同的是,yield()是暂停正在执行的线程,为其它线程让出CPU时间,这里的其它线程也包括当前线程;而sleep(long millis)则是暂停当前线程指定时间后,该线程成为可执行状态,不是运行状态。

你可能感兴趣的:(java,线程)