Tôi đang cố gắng áp dụng các bài học từ việc đọc Java Concurrency Trong Thực tiễn liên quan đến việc khai báo các lớp mà tôi viết có an toàn thread hay chúng chứa trạng thái có thể thay đổi không đồng bộ. Tôi nghĩ đây là một ý tưởng tốt vì nó ghi lại ý định về cách sử dụng lớp.Có danh sách các lớp an toàn theo chủ đề trong Java không?
Hôm nay, tôi đã viết một lớp kết thúc tốt đẹp một thể hiện của java.lang.Class và java.net.URI. Tôi đã viết về javadoc rằng nó là thread-an toàn bất biến kể từ khi cả hai lĩnh vực đã được tuyên bố là tài liệu tham khảo cuối cùng. Tuy nhiên, tôi đã xem mã nguồn của URI và Class và không thấy bất kỳ tuyên bố nào cho dù chúng có an toàn không và có vẻ không rõ ràng ngay lập tức.
Suy nghĩ về điều này một cách tổng quát hơn: có danh sách các lớp java phổ biến cho biết chúng có an toàn hay không? Mặt khác, nó có thể không quan trọng cho dù các trường hợp là hoàn toàn an toàn thread vì cách lớp này đang được sử dụng, tôi sẽ đánh dấu nó là 'có lẽ thread-an toàn' cho bây giờ.
Có một vài nổi tiếng lớp thread-an toàn, chẳng hạn như SimpleDateFormat ví dụ, nhưng tôi không nghĩ rằng có một đầy đủ, danh sách chính thức. Vì vậy, trừ khi một lớp học được ghi lại là an toàn hoặc bạn có thể chứng minh với sự tự tin rằng nó và sẽ * vẫn * an toàn trong tương lai gần, bạn có lẽ nên sai về mặt thận trọng ... – assylias