MainThreadDispatcher avoid deadlock