Java Get Thread ID Example

Chapter: Thread Last Updated: 10-09-2016 06:09:53 UTC

Program:

            /* ............... START ............... */
                
public class JavaThreadIDExample extends Object implements Runnable {

	private ThreadID var;

	public JavaThreadIDExample(ThreadID v) {
		this.var = v;
	}

	public void run() {
		try {
			print("var getThreadID =" + var.getThreadID());
			Thread.sleep(2000);
			print("var getThreadID =" + var.getThreadID());
		} catch (InterruptedException x) {
		}
	}

	private static void print(String msg) {
		String name = Thread.currentThread().getName();
		System.out.println(name + ": " + msg);
	}

	public static void main(String[] args) {
		ThreadID tid = new ThreadID();
		JavaThreadIDExample shared = new JavaThreadIDExample(tid);

		try {
			Thread threadA = new Thread(shared, "threadA");
			threadA.start();

			Thread.sleep(500);

			Thread threadB = new Thread(shared, "threadB");
			threadB.start();

			Thread.sleep(500);

			Thread threadC = new Thread(shared, "threadC");
			threadC.start();
		} catch (InterruptedException x) {
		}
	}
}

class ThreadID extends ThreadLocal {
	private int nextID;

	public ThreadID() {
		nextID = 10001;
	}

	private synchronized Integer getNewID() {
		Integer id = new Integer(nextID);
		nextID++;
		return id;
	}

	protected Object initialValue() {
		print("in initialValue()");
		return getNewID();
	}

	public int getThreadID() {
		Integer id = (Integer) get();
		return id.intValue();
	}

	private static void print(String msg) {
		String name = Thread.currentThread().getName();
		System.out.println(name + ": " + msg);
	}
}
                /* ............... END ............... */
        

Output

threadA: in initialValue()
threadA: var getThreadID =10001
threadB: in initialValue()
threadB: var getThreadID =10002
threadC: in initialValue()
threadC: var getThreadID =10003
threadA: var getThreadID =10001
threadB: var getThreadID =10002
threadC: var getThreadID =10003

Tags

Get Thread ID Example, Java, Thread

Similar Programs Chapter Last Updated
Java Synchronized Method Thread 10-10-2017
Java Thread SetName() Method Thread 19-08-2017
Java Thread NotifyAll Method Thread 07-08-2017
Java Thread Synchronization Thread 07-01-2017
Java Display All Running Thread Thread 10-09-2016
Java Thread Suspend Example Thread 10-09-2016
Java Thread Stop Example Thread 10-09-2016
Java Set Thread Priority Thread 10-09-2016
Java Thread Status Example Thread 10-09-2016
Wait On object In Java Thread 13-08-2016
Demonstrate Join() In Java Thread Thread 13-08-2016
Wait For Threads To Finish In Java Thread 13-08-2016
Wait For Completion Of Thread In Java Thread 13-08-2016
Thread Yield In Java Example Thread 20-06-2016
Suspend Resume And Stop A Thread In Java Thread 21-07-2016
Interthread Communication In Java Example Thread 19-08-2017
Thread start() Method in Java Example Thread 21-07-2016
Thread run() Method in Java Thread 19-08-2017
Thread isAlive() Method in Java Example Thread 19-08-2017
Thread getPriority() Method In Java Example Thread 11-04-2016
Thread getName() Method In Java Example Thread 21-07-2016
Synchronized Method In Java Example Thread 25-06-2017
Wait And Notify in Java Example Thread 21-07-2016
Pause Execution with Sleep In Java Example Thread 21-07-2016
Thread Stack Trace In Java Example Thread 21-07-2016
Thread Volatile Variable In Java Example Thread 16-06-2017
Thread State In Java Example Thread 16-06-2017
Thread Sleep In Java Example Thread 15-07-2016
Thread Name In Java Example Thread 13-06-2017
Thread Join In Java Example Thread 13-06-2017

1 2