正如問題標題所說,是Thread.getId()
線程安全?我最近遇到了一個問題,而多線程和解決方案是刪除getId()
調用,因爲它正在使線程掛起。Java線程getId()線程安全嗎?
0
A
回答
0
是的,它完全是線程安全的。在JDK8全面推行是:
public long getId() {
return tid;
}
tid
的建造Thread
對象的過程中初始化一次,從來沒有改變之後。
如果您的代碼中存在問題,請將其解除,這就是您一旦擁有了並且使用ID爲而沒有獲取ID。
0
簡短的回答:是的,
長回答:線程安全手段防範競爭條件
/**
* Returns the identifier of this Thread. The thread ID is a positive
* <tt>long</tt> number generated when this thread was created.
* The thread ID is unique and remains unchanged during its lifetime.
* When a thread is terminated, this thread ID may be reused.
*
* @return this thread's ID.
* @since 1.5
*/
public long getId() {
return tid;
}
正如你看到的方法是不同步的,而tid
是私有的,而不是最後宣佈,但是tid
在私有方法init
中設置,並且在此之後永遠不會更改,這使得tid
的值不可變,從而使其成爲線程安全的
相關問題
- 1. VTD-XML線程安全嗎? (Java版本)
- 2. 這段Java代碼線程安全嗎?
- 3. Java Transport.send()是線程安全的嗎?
- 4. 鏈接線程安全集合線程安全嗎?
- 5. Enum.TryParse - 線程安全嗎?
- 6. HtmlCleaner線程安全嗎?
- 7. 在Python線程安全嗎?
- 8. 是DatagramSocket.send線程安全嗎?
- 9. XCGLogger線程安全嗎?
- 10. jCaptcha線程安全嗎?
- 11. 列表線程安全嗎?
- 12. 這些線程安全嗎?
- 13. ValueExpression線程安全嗎?
- 14. SecureRandom線程安全嗎?
- 15. KeyPairGenerator.generateKeyPair()線程安全嗎?
- 16. 是TcpClient.Available線程安全嗎?
- 17. Swift Calendar線程安全嗎?
- 18. 此線程安全嗎?
- 19. 線程安全(是嗎?)
- 20. RegSetValueEx線程安全嗎?
- 21. SecurityContextHolder線程安全嗎?
- 22. PCRE pcre_exec線程安全嗎?
- 23. SoapHttpClientProtocol線程安全嗎?
- 24. python logger線程安全嗎?
- 25. SynchronizationContext.Post()線程安全嗎?
- 26. Interop.Domino dll線程安全嗎?
- 27. udev線程安全嗎?
- 28. JMS QueueSender線程安全嗎?
- 29. NSSortDescriptor線程安全嗎?
- 30. github3py線程安全嗎?
因此,首先你回答否,然後刪除它,一旦我發佈你改變你的答案是和撤消刪除它。 –
是的,作爲一個人能夠正確地盡我所需/需要我的答案....感謝評論:) –
這將是一件好事,如果你在**發佈之前做了盡職調查**而不是之後。 –