正如問題標題所說,是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. java線程安全:線程安全嗎?
- 2. 單線程實現線程安全嗎?
- 3. VTD-XML線程安全嗎? (Java版本)
- 4. 這個java類線程安全嗎?
- 5. Java:我的方法線程安全嗎?
- 6. 這段Java代碼線程安全嗎?
- 7. Java Transport.send()是線程安全的嗎?
- 8. 休眠和線程安全:注入的SessionFactory線程安全嗎?
- 9. 鏈接線程安全集合線程安全嗎?
- 10. Spring mongoTemplate線程安全嗎?
- 11. Lparallel.queue線程安全嗎?
- 12. BoxClient線程安全嗎?
- 13. EventHubClient.SendBatchAsync - 線程安全嗎?
- 14. .NET:JsonMediaTypeFormatter線程安全嗎?
- 15. multiset equal_range線程安全嗎?
- 16. pip線程安全嗎?
- 17. com.google.cloud.datastore.Datastore線程安全嗎?
- 18. WNetGetResourceInformation線程安全嗎?
- 19. qsort線程安全嗎?
- 20. work_queue線程安全嗎?
- 21. .NET DateTime線程安全嗎
- 22. DynamoDBContext線程安全嗎?
- 23. 在Python線程安全嗎?
- 24. java.lang.reflect.Method線程安全嗎?
- 25. HttpContext.Current.Cache線程安全嗎?
- 26. UIFont線程安全嗎?
- 27. C#+ =線程安全嗎?
- 28. Go bytes.Buffer線程安全嗎?
- 29. SynchronizationContext.Post()線程安全嗎?
- 30. Guava Table線程安全嗎?
因此,首先你回答否,然後刪除它,一旦我發佈你改變你的答案是和撤消刪除它。 –
是的,作爲一個人能夠正確地盡我所需/需要我的答案....感謝評論:) –
這將是一件好事,如果你在**發佈之前做了盡職調查**而不是之後。 –