【问题标题】:Java multithreading: sleep and currentThread methodsJava 多线程:sleep 和 currentThread 方法
【发布时间】:2014-03-02 14:44:50
【问题描述】:

我是 Java 并发编程的新手。我注意到 Thread 类的 sleep() 和 currentThread() 方法是静态的。由于使用多核 CPU,许多线程可以同时运行,我想知道如何在执行中的线程之间选择线程。谢谢。

【问题讨论】:

标签: java multithreading sleep


【解决方案1】:

在Javadocs for Thread 中很容易找到:

对于currentThread():

返回对当前正在执行的线程对象的引用。

对于sleep():

使当前正在执行的线程休眠

即为这两种方法调用方法的Thread。

【讨论】:

  • 我还是不明白。假设我有一个同时运行 4 个线程的四核 CPU。当我调用 Thread.sleep() 时,哪个被发送到睡眠状态?线程 0、线程 1、线程 2 还是线程 3?线程调度器如何做出选择?谢谢。
  • 线程调度器并没有进来选择哪个休眠。无论哪个线程调用Thread.sleep() 都会让自己进入睡眠状态。
  • 谁工作 - 他吃饭。哪个线程调用-该线程休眠。 (而且它总是:)。)
猜你喜欢
  • 1970-01-01
  • 2020-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
相关资源
最近更新 更多