前段时间,在项目的开发过程中,明明配置了多线程,但是运行的时候却总是一个线程在跑,
当时就怀疑可能是因为一个线程独占了系统资源,造成了其他线程没有执行的机会,因此,
就 研究一下yield方法并顺便查了一下wait和yeild的方法的区别。
1.使用wait等待时间,其实是停止在等待区内停止执行,所以不会浪费Java执行环境的处理时间。而field()方法(尽可能把优先级别交给其他线程)则会在等待中的线程也在持续运行着,会占用Java虚拟机执行时间。
2.执行wait方法时,其当前线程锁住的资源会释放,而yield方法则不会释放其锁。