
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
昆明达内培训的小编这一期给大家分享线程协作方法sleep、yield、wait、join。
sleep(休眠)
当t线程调用Thread.sleep()时,会让线程t休眠指定时间
Thread.sleep()和Thread.currentThread().sleep()效果一样
sleep方法不会释放同步锁
sleep不会影响到其他线程
yield(让步)
在t线程中调用Thread.yield()时会让t线程放弃一次cpu调度(通常是当前这次调度)
yield让当前线程让步给其他线程执行
wait(锁住等待)
当t线程调用obj.wait()时,t线程会进入waiting状态,并放弃obj对象锁,直到其他线程调用obj.notify()/notifyAll()方法唤醒线程t
wait方法会释放同步锁
线程只能在一个同步块中调用wait方法
wait方法让两个线程交替执行
join(加入)
在main线程中调用线程t.join()时,main线程会等待t线程完全执行完成才会继续执行
join让两个线程串行执行
了解详情请登陆昆明达内Java培训官网(km.Java.tedu.cn)!