Khi nào thì thích hợp để sử dụng Monitor
lớp hoặc lock
từ khóa cho an toàn luồng trong C #?
CHỈNH SỬA:
Có vẻ như từ các câu trả lời cho đến nay đó lock
là bàn tay ngắn cho một loạt các cuộc gọi đến Monitor
lớp. Chính xác thì khóa gọi tắt là gì? Hay rõ ràng hơn,
class LockVsMonitor
{
private readonly object LockObject = new object();
public void DoThreadSafeSomethingWithLock(Action action)
{
lock (LockObject)
{
action.Invoke();
}
}
public void DoThreadSafeSomethingWithMonitor(Action action)
{
// What goes here ?
}
}
Cập nhật
Cảm ơn tất cả sự giúp đỡ của bạn: Tôi đã đăng một câu hỏi khác như một phần tiếp theo một số thông tin mà tất cả các bạn đã cung cấp. Vì bạn có vẻ thành thạo trong lĩnh vực này, tôi đã đăng liên kết: Giải pháp khóa và quản lý các ngoại lệ bị khóa này có gì sai?