java线程那点事

    java线程有五种状态:新建状态、就绪状态、运行状态、阻塞状态和死亡状态。

    java线程那点事

    Object类中有wait()、notify()、notifyall()方法:

         wait():将线程从“运行状态”变为“阻塞状态”,线程会被放到线程池中。

         notify():唤醒“阻塞状态”的线程为“就绪状态”,唤醒线程池队列中第一个线程。

         notifyAll():唤醒线程池队列中的所有“阻塞状态”线程为“就绪状态”。

    调用wait()时,线程进入等待阻塞状态,并且会释放获得的锁

    调用sleep()/join(),线程进入阻塞状态,不会释放获得的锁。

    调用yield()方法,线程从“运行状态”进入“就绪状态”,并且不会释放获得的锁。