Das "ExecuteQueuedMethods" nennt sich Classes.CheckSynchronize und das wird von der Messagebehandlung in Application aufgerufen.
Es lässt sich auch nir vom MainThread aus aufrufen und wirft ansonsten eine
Exception.
RemoveQueuedEvents entfernt eine bestimmte, über TThread.Synchronize oder TThread.Queue hinzugefügte, Methode aus der Warteliste, bzw. alle von einem bestimmten Thread aus hinzugefügten Methoden, oder eine Kombination aus Beidem (Methode von bestimmten Thread).
(natürlich nur solange sie noch nicht ausgeführt wurden
)
Das was du willst, gibt es im Delphi noch nicht. (abgesehn von einigen Fremdkomponenten, die sich auf die Threadbehandlung spezialisiert haben)
Du kannst eine TThreadList oder TQueue<T> (mit zusätzliches CriticalSection) verwenden, um deine Aufgaben zu sammeln und rufst sie dann selber im Thread auf.