How Java Thread Class Determines Which thread?

While Going through the java tutorial on sun site, I see following piece of code:

for (int i = 0; i < inputs.length; i++) {
    heavyCrunch(inputs[i]);
    if (Thread.interrupted()) {
        //We've been interrupted: no more crunching.
        return;
    }
}

Since Thread.interrupted() is a static function, how does java knows which thread is calling it? eg. I expected it to be of type: this.interrupted() or Thread.interrupted(this).

Answer

It looks at Thread.currentThread().


If you want to know how that works, it’s a native method, and probably JVM-specific so there’s no quick answer.

Leave a Reply

Your email address will not be published. Required fields are marked *