When does Runnable.run called

S

sakcee

Hi

I have a question if I create a Runnable as follows

Runnable r = new Runnable() {
public void run() {long tId = Thread.currentThread().getId());}
}

Thread t = new Thread (r);
t.start();


does the thread tId depends upon in which class the Runnable is
defined.
I am trying to identify a running instance of a class by getting
CurrentThread.getId()

i guess my question is that does tId gets assigned at runtime before
that perticual
thread is started or only when the perticular thread runs that run
funtion.


thanks
 
R

Richard Reynolds

Hi

I have a question if I create a Runnable as follows

Runnable r = new Runnable() {
public void run() {long tId = Thread.currentThread().getId());}
}

Thread t = new Thread (r);
t.start();


does the thread tId depends upon in which class the Runnable is
defined.
I am trying to identify a running instance of a class by getting
CurrentThread.getId()

i guess my question is that does tId gets assigned at runtime before
that perticual
thread is started or only when the perticular thread runs that run
funtion.


thanks
tId will only get assigned when the run method executes i.e. it will refer
to the newly created thread i.e. the thread it is running in, of course this
is only if you call start as you've described, if you just call run() it'll
just execute in the current thread without creating a new one
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top