Tôi nhận được câu hỏi về cách Monitor.Enter hoạt động. Tôi điều tra .net framework mã nguồn, và nó cho thấy đây chỉ:System.Threading.Monitor.Enter() hoạt động như thế nào?
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private static extern void ReliableEnter(Object obj, ref bool lockTaken);
Tôi đoán thực hiện Monitor.Enter phụ thuộc nền tảng, vì vậy tôi duyệt mã nguồn Mono và tôi đã từ bỏ :(
Vâng, một phần quan trọng được gán cho mỗi thể hiện System.Object có thể giải quyết, nhưng, tôi không nghĩ rằng Monitor.Lock thực tế được viết như thế này, bởi vì việc tạo ra một phần quan trọng cho mỗi System.Object sẽ có chi phí không giới hạn (Win32 không cho phép hàng tỷ đối tượng phần quan trọng trong một quy trình!)
Có ai biết Monitor.Enter hoạt động như thế nào? Vui lòng trả lời. ance.