小编典典

多核/多处理器系统上Thread.currentThread()的语义?

java

如果在多处理器或多处理器计算机上运行,​​而jvm可能绝对同时运行多个线程(不只是同时出现),那么api方法java.lang.Thread.currentThread()返回什么?…在​​上述情况下,它是否会返回当前线程之一是随机的吗?


阅读 225

收藏
2020-11-23

共1个答案

小编典典

它返回您当前正在其中运行的线程。如果你有两个核心和两个线程AB完全并行运行,要求在同一时间这个方法,它将返回AB适当的。

您的理解是正确的-此方法返回的线程始终处于运行状态-因为必须从某个线程调用该线程,并且要返回该线程必须正在运行。不要以“
所有当前正在运行的,非暂停的,非阻塞的线程 ”的方式来考虑该方法。相反,它的含义是:“ 给我一个运行我的线程的引用 ”。

2020-11-23