join
join()方法表示在A线程中调用B.join()方法时,A线程进入等待;join()方法其实就是调用Thread方法类的带参数的wait方法;wait(0)相当于wait(),无限等待,直到notify,notifyall方法唤醒该线程;
yield
yield方法为Thread静态原生方法,他不能指定时间,调用yield方法,会建议cpu按优先级高的线程优先执行,多部分会按优先级高的线程优先执行,但也有例外,所以只能说建议。优先级从1到10,10为最高优先级;
yield方法不会释放这个线程拥有的锁;——???
等待线程结束(join)和谦让(yield)
public final void join() throws InterruptedException;
public static native void yield();
wait(0); // 无限期等待
知识点
- 不要在应用程序中,在Thread对象上使用wait()或notify()等方法,因为可能会影响系统API的工作或被系统API影响