java - Thread.yield() 之后线程的 Thread.State 是什么?

标签 java concurrency

Thread.yield() 之后线程的 Thread.State 是什么?它是 Thread.State.WAITING 吗?谢谢。

最佳答案

不,线程仍将在 RUNNABLE 中状态。请注意,RUNNABLE 表示线程可以运行,并且可能正在运行或正在等待轮到它。 Thread.STATE不区分当前正在执行的线程和准备运行的线程,它们都是 RUNNABLE

一个线程只会进入WAITING调用 wait()join()LockSupport.park() 时的状态。

调用 Thread.yield()当前运行的线程自愿放弃其 CPU 时间片的方法。然后该线程从运行状态返回到就绪状态。

关于java - Thread.yield() 之后线程的 Thread.State 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3275210/

相关文章:

java - 以#@开头的字符串模式,可以包含下划线和减号

postgresql - 如何处理 PostgreSQL 中的竞争条件?

ios - CoreData 父子上下文冲突管理

ios - 第一个 TableView 单元格没有正确出队

java - 截断 double 或向小数点添加额外的 0 - Java

java - 奇怪的行为: export CLASSPATH=$(JARS=(./lib/*.jar); IFS=:; echo "${JARS[*]}")

java - DynamoDB GSI : update indexed attribute, 保留先前的索引条目

java - Travis CI 使用错误的 Java 版本

java - Java中 `insert()`和 `size()`并发执行会出现死锁吗?

java - 等待所有任务(未知数量)完成 - ThreadPoolExecutor