It handles one task at a time using a call stack. Synchronous Execution: - Tasks run one after another. - Each task waits for the previous one to finish. - Slow tasks block your code from running.