Мне было очень приятно видеть, что Delphi представила запись TMonitor в Delphi 2009, позволяющую вам блокировать определенные объекты в многопоточной среде. Что меня озадачило, так это методы Pulse и PulseAll этого типа записи.
Например, запись для Pulse в справке Delphi гласит: «Уведомляет следующий поток в очереди ожидания, что он сможет заблокировать указанный объект, как только вызывающий поток освободит объект».
В самом деле? Что это значит? Я использовал TMonitor без использования Pulse без проблем. Кроме того, некоторые из применений TMonitor в источнике Delphi никогда не используют Pulse.
Включены ли методы Pulse и PulseAll в запись TMonitor Delphi только для совместимости на уровне источника с классом .NET Monitor или они действительно служат определенной цели?
Есть два вопроса ( "TMonitor.Pulse vs TMonitor.PulseAll" и "Что такое TMonitor в модуле Delphi System для" ), которые говорят об этой проблеме, но я ищу окончательный ответ.