Byłem bardzo zadowolony, że Delphi wprowadza rekord TMonitor w Delphi 2009, umożliwiając blokowanie określonych obiektów w środowisku wielowątkowym. Zastanawiałem się nad metodami Pulse i PulseAll tego typu rekordów.W Delphi, co robi System.TMonitor.Pulse i TMonitor.PulseAll faktycznie robię
Na przykład wpis dla Pulse w stanach pomocy Delphi "Powiadamia następnego wątku w kolejce oczekującej, że będzie mógł zablokować określony obiekt, gdy tylko wywołujący wątek zwolni obiekt."
Naprawdę? Co to znaczy? Użyłem TMonitor bez użycia Pulse bez problemów. Ponadto niektóre zastosowania TMonitor w źródle Delphi nigdy nie używają Pulse.
Czy metody Pulse i PulseAll są uwzględniane tylko w rekordzie TMonitor firmy Delphi w celu uzyskania zgodności na poziomie źródła z klasą monitora .NET lub czy rzeczywiście służą one celowi?
Istnieją dwa pytania ("TMonitor.Pulse vs TMonitor.PulseAll" i "What is TMonitor in Delphi System unit good for"), które mówią o tym numerze, ale szukam ostatecznej odpowiedzi.
Czy TMonitor jest naprawiony w XE2? –
@ David, przepraszam moją ignorancję, ale co było/jest z nią nie tak? – Johan
@johan Wygląda na to, że Wait and Pulse nie działają poprawnie. Wiele blogów na ten temat kilka miesięcy temu od Chrisa Rollistona, Primoz, Eric Grange itp. –