【问题标题】:Which state of thread will be when we call LockSupport.unpark()当我们调用 LockSupport.unpark() 时线程会处于哪个状态
【发布时间】:2019-03-09 14:59:36
【问题描述】:

我们知道,当我们调用 LockSupport.park() 时,线程 A 将等待并等待另一个线程调用 LockSupport.unpark()。那么当我们调用它时,线程A的状态会是什么?

可以运行吗?

它不能被BLOCKED,因为它在API中的描述是:

Thread state for a thread blocked waiting for a monitor lock.

当我们使用 LockSupport.park() API 时,我们不需要获取监视器锁,不像 Object.wait()。

那么RUNNABLE状态会是,对吧?

【问题讨论】:

    标签: java multithreading thread-safety


    【解决方案1】:

    是的,如果线程已经启动。

    LockSupport.unpark()

    使给定线程的许可可用

    启用当前线程进行线程调度。 RUNNABLE 的确切含义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-02
      • 1970-01-01
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      • 2013-06-01
      • 2022-08-03
      • 2014-06-04
      相关资源
      最近更新 更多