currentThread()总是currentThread()?

时间:2014-08-02 18:03:15

标签: java multithreading

在Java Thread中, 方法currentThread() 返回“当前正在执行的线程”的内存引用。 “当前正在执行的线程”这里是调用此currentThread()的线程。

我想知道是否有例外情况,即 currentThread()是否返回除调用它之外的其他线程。

例如:假设,在main方法中,我正在调用Thread.currentThread().toString()来查看它 - 并返回toString()线程的main表示。

问题是,是否存在返回内存中运行的其他线程的情况?

我想不到一个。 currentThread()此处正在main线程上执行 - 因此无论什么时候它都在&正在运行,它是它正在执行的主要线程空间。 除非有一些滑倒,否则我看不出它会怎样。

currentThread()是原生的 - 可以在代码中看到这些内容。

3 个答案:

答案 0 :(得分:6)

  

我想知道是否存在例外情况,即currentThread()是否返回除调用它之外的其他线程。

没有。没有这种情况。

答案 1 :(得分:1)

can there be a case that it returns some other thread that is running in memory

Thread.currentThread()-

始终返回对当前正在执行的线程对象的引用,并且没有例外。

答案 2 :(得分:-1)

  

例如:假设,在主要方法中,我正在调用   Thread.currentThread()。toString()来查看它 - 它返回   toString()表示主线程。

     

问题是,是否存在返回其他线程的情况   在内存中运行?

如果另一个线程调用main(),则可能。没试过,但我不明白为什么不可能。