What is the principle of asynchronous submitted tasks to a serial queue?

How can a serial queue that has submitted tasks asynchronously keep doing some other work (for example, UI related work) on the current thread while those tasks are not yet completed? As we know, a serial queue can run one job at a time.

Welcome to the Community, @iaccount ! We’re glad to have you here.

Thank you for posting your question and seeking help from the forum. We will do our best to assist you with your query.

Don’t hesitate to ask any further questions or provide additional details to help us understand your issue better. Happy coding!

@gargyole your feedbacks would be appreciated