Java 执行线程是否转到“执行”;“等待”;通过同时执行wait()和join()来声明?

Java 执行线程是否转到“执行”;“等待”;通过同时执行wait()和join()来声明?,java,multithreading,Java,Multithreading,处于活动状态但既不运行也不可运行的线程有3种状态:- 睡觉 封锁 等待 当线程执行sleep()方法时,它会在其参数指定的时间段内(比如几毫秒)从运行状态进入睡眠状态 当一个线程正在等待另一个线程由于同步方法或块而获取的对象上的锁时,它将被该线程阻止 那么,当一个线程在另一个线程上执行wait()时,它会进入等待状态吗 在某些线程上调用join()的情况也是如此 那么,我们可以说wait()(来自java.lang.Object)和join()(来自java.lang.Thread)都将线程的状

处于活动状态但既不运行也不可运行的线程有3种状态:-

  • 睡觉
  • 封锁
  • 等待
  • 当线程执行sleep()方法时,它会在其参数指定的时间段内(比如几毫秒)从运行状态进入睡眠状态

    当一个线程正在等待另一个线程由于同步方法或块而获取的对象上的锁时,它将被该线程阻止

    那么,当一个线程在另一个线程上执行wait()时,它会进入等待状态吗

    在某些线程上调用join()的情况也是如此

    那么,我们可以说wait()(来自java.lang.Object)和join()(来自java.lang.Thread)都将线程的状态转换为WAITING吗?

    这在以下部分中进行了描述:

    公共静态最终线程。状态正在等待

    等待线程的线程状态。线程处于等待状态 由于调用以下方法之一:

        Object.wait with no timeout
        Thread.join with no timeout
        LockSupport.park
    
    处于等待状态的线程正在等待另一个线程执行 一种特殊的行为。例如,调用 对象上的Object.wait()正在等待另一个线程调用 对象上的Object.notify()或Object.notifyAll()。一根线 已调用线程。join()正在等待指定的线程调用 终止