SynchronizationContext
có thuộc tính được gọi là IsWaitNotificationRequired
. Vì mục đích của nó, số docs có điều này để nói:SynchronizationContext.IsWaitNotificationRequired cho là gì?
Xác định xem có cần thông báo chờ hay không.
đúng nếu chờ thông báo; ngược lại, sai.
Gosh, làm rõ mọi thứ.
Chính xác "thông báo chờ" này là gì và khi nào/tại sao nó được yêu cầu/không bắt buộc? Có phải là IsWaitNotificationRequired
điều gì đó dọc theo các dòng Control.InvokeRequired
hoặc điều này khác biệt?
Câu trả lời này có thể hữu ích: http://stackoverflow.com/a/5109784/245183 –
@OndrejTucny, tôi không chắc phải làm gì cho câu trả lời đó ... điều đó có nghĩa là nó cho phép bạn chỉ định WinAPI nào cuộc gọi 'Monitor.Enter' và' Monitor.Exit' thực sự sử dụng để chờ trên một khóa? Điều gì sẽ xảy ra khi 'IsWaitNotificationRequired' là sai? –
Phương thức WaitHelper() bên trong là khóa, nó gọi mã chờ xử lý bên trong CLR an toàn cho các căn hộ đơn luồng COM. Nó bơm một vòng lặp tin nhắn nó là chủ đề STA để đảm bảo rằng sự chờ đợi không gây ra bế tắc. WPF cần nó. Đánh giá MsgWaitForMultipleObjects(). –