How to pass a parameter to a thread in Java

3 Answers

0 votes
class MyRunnable implements Runnable {
    private String message;
 
    public MyRunnable(String message) {
        this.message = message;
    }
 
    @Override
    public void run() {
        System.out.println("Thread says: " + message);
    }
}
 
public class Main {
    public static void main(String[] args) {
        Thread t = new Thread(new MyRunnable("Java Programming"));
        t.start();
    }
}
 
 
 
/*
run:
 
Thread says: Java Programming
 
*/

 



answered Dec 4, 2025 by avibootz
edited Dec 4, 2025 by avibootz
0 votes
public class Main {
    public static void main(String[] args) {
        String message = "Java Programming - lambda";
        
        Thread t = new Thread(() -> {
            System.out.println("Thread says: " + message);
        });
        
        t.start();
    }
}



/*
run:

Thread says: Java Programming - lambda

*/

 



answered Dec 4, 2025 by avibootz
0 votes
class MyThread extends Thread {
    private int number;

    public MyThread(int number) {
        this.number = number;
    }

    @Override
    public void run() {
        System.out.println("Thread number: " + number);
    }
}

public class Main {
    public static void main(String[] args) {
        MyThread t = new MyThread(18237);
        
        t.start();
    }
}



/*
run:

Thread number: 18237

*/

 



answered Dec 4, 2025 by avibootz
...