Các mã sau"Một tham chiếu đến một lĩnh vực không ổn định sẽ không được coi là ổn định" ý nghĩa
using System.Threading;
class Test
{
volatile int counter = 0;
public void Increment()
{
Interlocked.Increment(ref counter);
}
}
Tăng cảnh báo trình biên dịch như sau:
"A reference to a volatile field will not be treated as volatile"
Tôi có làm điều gì sai ở đây để nêu vấn đề này cảnh báo? Tại sao trình biên dịch tôi cảnh báo về điều này?
Tôi muốn nói rằng các phương pháp Interlocked vẫn không xử lý bất kỳ cách nào khác với cách chúng xử lý bất kỳ trường nào khác - nó chỉ là các trường * tất cả * được xử lý theo cách đặc biệt bởi Lồng vào nhau. –
Đồng ý. Dễ bay hơi không liên quan đến API được khóa liên động. Nhưng trong một số trường hợp, nó rất hữu ích để trộn lẫn nhau và dễ bay hơi. – IamIC
một chút muộn cho bữa tiệc, nhưng @IamIC: cẩn thận để xây dựng những trường hợp nào sẽ là? – jajdoo