What is the difference between dispatch_async and dispatch_sync in system behavior?

Updated May 17, 2026

Short answer

dispatch_sync blocks current thread, while dispatch_async schedules work and returns immediately.

Deep explanation

sync submits a block and waits for completion, potentially causing deadlocks if misused. async schedules work on a queue without blocking. Misuse of sync on main queue is a common crash pattern.

Unlock with a Pro subscription to view this section.

View pricing

Real-world example

No real-world example available yet.

Unlock with a Pro subscription to view this section.

Upgrade to Pro

Common mistakes

No common mistakes listed yet.

Unlock with a Pro subscription to view this section.

Upgrade to Pro

Follow-up questions

No follow-up questions available yet.

Unlock with a Pro subscription to view this section.

Upgrade to Pro

More Objective-C interview questions

View all →