java - 当线程改变状态时会发生上下文切换吗?

标签 java multithreading concurrency context-switching thread-state

在java中,当线程改变状态时会发生上下文切换吗?

我用谷歌搜索了很多网站,但没有找到任何提到这一点的文章。

因此,如果有人可以提供帮助,我们将不胜感激。

像这样:

doSomething();
//when Thread.sleep() is called, thread state will change from runnable to timed_waiting, so will context switching happen?
Thread.sleep(1000);

最佳答案

是的,sleep() 会触发上下文切换到 TIMED_WAITING

参见:https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.State.html#TIMED_WAITING

关于java - 当线程改变状态时会发生上下文切换吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56145433/

相关文章:

multithreading - 与任务并行相比,并行流水线有什么优势?

java - 从 RXTX 添加和获取通信端口

java - 如何划分以不同语言特定字符开头的名称字符串

c# - 使用异步和等待

c++ - 如果不同的内核具有不同的 L1 缓存,为什么会出现缓存 ping-ponging 和问题?

c - 如何在 C 中取消引用并使用传递给 POSIX 线程的矩阵?

java - 运行 jar 时出现 ClassNotFoundException

java - wildfly 8.2 读取耳内属性文件

ios - __NSArrayM objectAtIndex 崩溃,但我进行了验证

Java LongAdder sumThenReset 并发