Tại sao sử dụng câu ...
Tại sao sử dụng câu ...
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ẻ.
Để 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.
}
}
lock
:senior
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào