直接上源码:
join()方法的调用的例子,可以看我的上一篇博客:https://blog.csdn.net/river66/article/details/91492758
wait()方法的使用,可以看我的另一篇博客:https://blog.csdn.net/river66/article/details/90718182
private final Object lock = new Object();//线程实例的不可变对象成员
public final void join() throws InterruptedException {
join(0);
}
public final void join(long millis) throws InterruptedException {
synchronized(lock) {//同步lock对象,获得对象锁
long base = System.currentTimeMillis();
long now = 0;
if (millis < 0) {
throw new IllegalArgumentException("timeout value is negative");
}
if (millis == 0) {
while (isAlive()) {//如果线程还没执行完
l