[ThreadStatic] private static Foo _foo; public static Foo CurrentFoo { get { if (_foo == null) { _foo = new Foo(); } return _foo; } }
là thread mã trước đó an toàn không? Hay chúng ta cần khóa phương pháp này?Đây có phải là chủ đề an toàn để khởi tạo [ThreadStatic] không?
Đó là ví dụ của tôi. Tôi chỉ cố gắng tìm ra nếu nó có thể cho một thread để có được _foo == null nhưng sau đó một chuyển đổi chủ đề xảy ra và một chủ đề _foo được new'ed lên mặc dù nó không phải là null? –
Không. Một _foo trên mỗi luồng, do đó, các công tắc ngữ cảnh không có tác động. – Will