0
Thread.currentThread()。getId()返回線程標識符,但線程ID是如何由編譯器決定的。還存在用於特定的線程的任何方式設置。因爲ID有像SETID沒有方法在多線程中getId方法如何決定任何線程的ID
Thread.currentThread()。getId()返回線程標識符,但線程ID是如何由編譯器決定的。還存在用於特定的線程的任何方式設置。因爲ID有像SETID沒有方法在多線程中getId方法如何決定任何線程的ID
在java中8線程ID被髮放順序上施工的螺紋(從Thread
所採取)的:
private static synchronized long nextThreadID() {
return ++threadSeqNumber;
}
作爲Thread.getId()
狀態API文檔中,ID被答應是唯一的和恆定期間它的壽命:
返回該線程的標識符。線程ID是創建此線程時生成的正數 長整數。 線程ID是唯一的,並且在其生命週期中保持不變。 當一個線程被終止時,這個線程ID可能被重用。
因此,更改線程ID是不可能的,並且允許更改ID將違反此規定。
同意謝謝:) –
也許沒有'setId'是因爲我不相信程序員來設置它。你爲什麼想讓程序員設置它?但是,您可以設置名稱。 –
爲什麼你需要設置線程ID?你想達到什麼目的?編譯器如何處理ThreadID?每次在運行時創建新的線程時,它都會增加。 – rkosegi