Câu hỏi

Tại sao sử dụng câu lệnh lock trong C#?

Câu trả lời

Trong C#, câu lệnh lock được sử dụng để đảm bảo rằng một khối mã chỉ được thực thi bởi một luồng tại một thời điểm. Điều này ngăn chặn các vấn đề đa luồng như race conditions, deadlocks và các vấn đề về tính nhất quán dữ liệu khi nhiều luồng cố gắng truy cập hoặc thay đổi cùng một tài nguyên chia sẻ.

Cách sử dụng:

Để sử dụng lock, bạn chọn một đối tượng (thường là một đối tượng riêng tư) để phục vụ như là một "lock token" hoặc "monitor". Khi một luồng bắt đầu một khối mã được bảo vệ bởi lock, nó sẽ cố gắng "lấy khóa" trên đối tượng đó. Nếu không có luồng nào khác đang giữ khóa, luồng này sẽ tiếp tục thực thi khối mã. Nếu khóa đã được giữ bởi một luồng khác, luồng này sẽ chờ cho đến khi khóa được giải phóng.

private readonly object _lockObject = new object();

public void PerformThreadSafeAction()
{
    lock (_lockObject)
    {
        // Khối mã chỉ được thực thi bởi một luồng tại một thời điểm.
    }
}

Tại sao lại sử dụng lock:

  1. Tránh Race Conditions: Khi nhiều luồng cùng thao tác trên cùng một dữ liệu, có thể xảy ra race conditions, nơ...
Bạn cần đăng nhập để xem
senior

senior

Gợi ý câu hỏi phỏng vấn

middle

Khi nào sử dụng ArrayList thay vì array[] trong C# là gì?

middle

Connection Pooling trong C# dùng để làm gì?

senior

Constructor Chaining trong C# là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào