Fragen zur gleichzeitigen Änderung der Playlist durch GUI und Hintergrundskript

Hallo, eine Frage zum Sperrverhalten von Mairlist bei der Skriptausführung?

Läuft immer nur eine Codeteil zur Zeit?

Oder muss ich mir bei der Erstellung von Hintergrundskripten für die REST Schnittstelle Gedanken darüber machen,
dass sich die Playlist während der Skriptlaufzeit über die GUI oder andere Trigger verändern kann?

Über die REST Schnittstelle wird von mir Code wie dieser ausgelöst:

[code] playlist_size := CurrentPlaylist.GetCount - 1;

 for i := 0 to playlist_size do begin
     pi := CurrentPlaylist.GetItem(i);

    // mach was mit "pi" hier 

 end;

[/code]

Wenn Code wie dieser während der Laufzeit die GUI und andere Skripte blockiert, ist kein Risiko da.

Wenn sich während der Laufzeit dieses Codes die Playlist ändern kann, ist das ein Problem.
Für diesen Fall, gibt es Sperrmechanismen, mit dem ich die Playlist sperren und wieder freigeben kann?

CurrentPlaylist.BeginRead;
try
  (dein Code)
finally
  CurrentPlaylist.EndRead;
end;

Wenn du nicht nur lesen sondern auch Änderungen durchführen willst, verwende stattdessen CurrentPlaylist.BeginUpdate/CurrentPlaylist.EndUpdate.