并发编程总结2——java线程基础2

上面一篇介绍了线程的声明周期,锁的概念等基本信息,线程中还有一些方法;

   1、wait()和notify(),wait方法是让当前线程进入阻塞状态,必须等待唤醒notify才能进入就绪状态继续运行。当线程wait的同时,会释放当前锁

   2、yield():线程让步,调用该方法会让当前线程从运行状态变为就绪状态,等待跟他具有相同优先级的线程之行完成之后再执行;

         需要注意的是,yield不会释放当前锁,如果同步情况下调用其余线程获得不到锁,不能生效

    3、sleep():让当前线程休眠,sleep会指定休眠的时间!休眠时不会释放同步锁

    4、join():让当前父线程等待jion进来的子线程运行完之后再运行,join调用是主线程会释放当前锁;

  综上:

    会释放锁的:wait和join

    不会释放锁的:yield和sleep

原文地址:https://www.cnblogs.com/guoliangxie/p/6408025.html