Java獲取線程ID的實(shí)例
以下實(shí)例演示了如何使用 getThreadId() 方法獲取線程id:
public class Main extends Object implements Runnable { private ThreadID var; public Main(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(); Main shared = new Main(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); }}
以上代碼運(yùn)行輸出結(jié)果為:
threadA: in initialValue()threadA: var getThreadID =10001threadB: in initialValue()threadB: var getThreadID =10002threadC: in initialValue()threadC: var getThreadID =10003threadA: var getThreadID =10001threadB: var getThreadID =10002threadC: var getThreadID =10003
以上就是Java獲取線程ID的實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于Java獲取線程ID的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Python多線程操作之互斥鎖、遞歸鎖、信號(hào)量、事件實(shí)例詳解2. idea設(shè)置自動(dòng)導(dǎo)入依賴的方法步驟3. XML入門的常見問題(一)4. Django程序的優(yōu)化技巧5. Jsp中request的3個(gè)基礎(chǔ)實(shí)踐6. Python常用GUI框架原理解析匯總7. Django ORM實(shí)現(xiàn)按天獲取數(shù)據(jù)去重求和例子8. 怎樣才能用js生成xmldom對(duì)象,并且在firefox中也實(shí)現(xiàn)xml數(shù)據(jù)島?9. IntelliJ IDEA 統(tǒng)一設(shè)置編碼為utf-8編碼的實(shí)現(xiàn)10. jsp EL表達(dá)式詳解
