Tôi rất vui khi thấy Delphi giới thiệu bản ghi TMonitor trong Delphi 2009, cho phép bạn khóa các đối tượng cụ thể trong môi trường đa luồng. Điều khiến tôi bối rối là phương pháp Pulse và PulseAll của loại bản ghi này.Trong Delphi, System.TMonitor.Pulse và TMonitor.PulseAll thực sự làm gì
Ví dụ: mục nhập cho trạng thái trợ giúp của Pulse trong Delphi "Thông báo chuỗi tiếp theo trong hàng chờ đợi sẽ có thể khóa đối tượng được chỉ định ngay khi chuỗi gọi phát hành đối tượng."
Thật sao? Điều đó nghĩa là gì? Tôi đã sử dụng TMonitor mà không cần sử dụng Pulse mà không gặp vấn đề gì. Ngoài ra, một số công dụng của TMonitor trong nguồn của Delphi không bao giờ sử dụng Pulse.
Phương pháp Pulse và PulseAll chỉ được bao gồm trong bản ghi TMonitor của Delphi cho khả năng tương thích cấp nguồn với lớp .NET Monitor, hay chúng thực sự phục vụ một mục đích?
Có hai câu hỏi ("TMonitor.Pulse vs TMonitor.PulseAll" và "What is TMonitor in Delphi System unit good for") nói về vấn đề này, nhưng tôi đang tìm câu trả lời cuối cùng.
TMonitor có được cố định trong XE2 không? –
@ David, tha thứ cho sự thiếu hiểu biết của tôi, nhưng điều gì đã xảy ra với nó? – Johan
@johan Rõ ràng Wait và Pulse không hoạt động đúng cách. Rất nhiều blog về nó một vài tháng trở lại từ Chris Rolliston, Primoz, Eric Grange vv –