TIdSynchronizeThreadEvent is a method pointer type used when an executing thread needs to be synchronized using the main VCL thread. TIdSynchronizeThreadEvent allows the thread in AThread to synchronize using an internal structure that can contain a reference to the thread, the TNotifyEvent or Thread method to use for executing the Synchronize method, and user-defined data for the method.
TIdSynchronizeThreadEvent is the type used as an argument to the overloaded TIdThread.SynchronizeEx method.