How is a delegate thread safe?

I have been getting into multi-threading with unreal and for returning values, it was adviced to use delegates. There it also says, that delegates are thread safe.

How is a delegate thread safe? Is a lock automatically set, when a delegate is called? I couldn’t find anything regarding this in the delegate documentation.

I know this is old, but the answer is probably that delegates are only evaluated and fired in the main game thread that is ticking. So the “thread safety” is probably only wrt other objects in the main game thread (and even in other delegates), but not other threads you have started on your own.