Можешь объяснить ключевые различия между serial и concurrent dispatch queues в Swift, включая то, как отличается порядок выполнения задач в каждом из них, и привести примеры обоих? — ДейлиПреп