2010-08-26 56 views

Trả lời

14

các java1.6 javadoc nói:

Lớp này là thread-safe: nhiều đề có thể chia sẻ một thuộc tính đơn đối tượng mà không cần bên ngoài đồng bộ hóa.

5

Tôi luôn tìm thấy tuyên bố từ chối trách nhiệm về tài liệu, đặc biệt dành cho người mới bắt đầu (tha thứ nếu đó không phải là trường hợp của bạn).

Lớp này có chủ đề an toàn: nhiều chủ đề có thể chia sẻ một đối tượng Thuộc tính duy nhất mà không cần đồng bộ hóa bên ngoài.

Ngay cả các lớp an toàn Chủ đề cũng cần đồng bộ hóa nhiều hơn bạn nghĩ. Những gì được đồng bộ trên các lớp đó là các phương thức của chúng, nhưng thường người dùng sử dụng các lớp này trong một ngữ cảnh phức tạp hơn.

Nếu bạn chỉ đưa/nhận được nó là ok, nhưng với một số mã hơn mọi thứ trở nên chặt chẽ hơn:

p.putProperty("k1","abc"); 
p.putProperty("k2","123"); 
String.out.println(p.get("k1")+p.get("k2")); 

mã ví dụ này chỉ in cho shure "abc123" trong một môi trường đa luồng, nếu phần là một khối đồng bộ (và thậm chí sau đó mọi thứ có thể bị sai).

Vì lý do đó (và thực hiện courrse) tôi thích lớp học an toàn không chủ đề và tôi bị buộc phải suy nghĩ: là an toàn của tôi chương trình chủ đề ...

+0

tài liệu tham khảo bắt buộc: http: //www.javaconcurrencyinpractice. com –

Các vấn đề liên quan