join 和sleep都会获取对象锁,join的内部实现wait会释放对象锁进入等待池,进行等待,被唤醒或者超时进入锁定池,尝试获得对象锁,获取之后判断子线程是否结束,没结束接着wait循环。
sleep获取对象锁进行等待,等待期间锁不释放,cpu交给其他非此对象进行执行,睡眠一定时间接着执行
yield会释放自己cpu进入就绪模式,cup会交给级别比自己高或者相同优先级的进行执行
join 和sleep都会获取对象锁,join的内部实现wait会释放对象锁进入等待池,进行等待,被唤醒或者超时进入锁定池,尝试获得对象锁,获取之后判断子线程是否结束,没结束接着wait循环。
sleep获取对象锁进行等待,等待期间锁不释放,cpu交给其他非此对象进行执行,睡眠一定时间接着执行
yield会释放自己cpu进入就绪模式,cup会交给级别比自己高或者相同优先级的进行执行