RunLoop.main
as a Scheduler ends up calling RunLoop.main.perform
whereas DispatchQueue.main
calls DispatchQueue.main.async
to do work, for practical purposes they are nearly isomorphic. The only real differential is that the RunLoop
call ends up being executed in a different spot in the RunLoop
callouts whereas the DispatchQueue
variant will perhaps execute immediately if optimizations in libdispatch kick in. In reality you should never really see a difference tween the two.
16 Likes