2012-04-29 15 views
7

Tôi vừa đọc một số số information trên VectorArrayList. Từ những gì tôi có thể hiểu được Vector đã lỗi thời so với ArrayList. Nhưng Vector được đồng bộ trong khi ArrayList thì không.Ý nghĩa của đồng bộ trong ngữ cảnh của Vector/ArrayList là gì?

Nhưng điều đó có nghĩa là gì? Điều gì có nghĩa là khi chúng tôi nói rằng Vector được đồng bộ hóa? Và khi nào điều này hữu ích?

Trả lời

13

Điều đó có nghĩa là nhiều luồng có thể sửa đổi Vector song song mà không có nguy cơ bị hỏng dữ liệu.

Nếu bạn muốn thực hiện điều này với ArrayList, bạn cần sử dụng từ khóa synchronized.

+2

+1 hoặc sử dụng cơ chế khóa từ gói 'java.util.concurrent'. –

+3

... hoặc lớp trình bao bọc được tạo bởi 'Collections.synchronizedList', hoặc (thường là) một lớp triển khai danh sách đồng thời. –