thể trùng lặp:
Are C# auto-implemented static properties thread-safe?Nhận và thiết lập một chuỗi thuộc tính tĩnh đơn giản có an toàn không?
Trong ví dụ lớp sau
static class Shared
{
public static string[] Values { get; set; }
}
nhiều bài đọc đọc mảng Values
chuỗi theo định kỳ, trong khi bất cứ lúc nào một nhà văn độc thân sẽ thay thế toàn bộ mảng bằng một giá trị mới bằng cách sử dụng setter. Tôi có cần phải sử dụng một số ReaderWriterLock
hoặc điều này C# sẽ xử lý tự động không?
Chỉnh sửa: Trong trường hợp của tôi, yêu cầu "an toàn chỉ" là: Không có gì xấu xảy ra khi người viết thay thế mảng trong khi người đọc đang tìm kiếm giá trị. Tôi không quan tâm liệu người đọc sẽ sử dụng giá trị mới ngay lập tức miễn là họ sẽ sử dụng giá trị đó trong tương lai
Bản sao của http://stackoverflow.com/questions/2074670/are-c-auto-implemented-static-properties-thread-safe? –
Kiểm tra không gian tên 'System.Collections.Concurrent' nếu bạn đang ở trong .NET 4. Tùy thuộc vào cách sử dụng của bạn, chúng có thể phù hợp với nhu cầu của bạn. – Marc