How can I pass a parameter to a Java Thread?

Can anyone suggest to me how I can pass a parameter to a thread?

Also, how does it work for anonymous classes?

Answer

You need to pass the parameter in the constructor to the Runnable object:

public class MyRunnable implements Runnable {

   public MyRunnable(Object parameter) {
       // store parameter for later user
   }

   public void run() {
   }
}

and invoke it thus:

Runnable r = new MyRunnable(param_value);
new Thread(r).start();

Leave a Reply

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