«Расставлять приоритеты» здесь не означает «бежать раньше». Это означает, что «при принятии решения о том, какое QoS назначить для этого блока, предпочтите тот, который здесь указан, а не тот, который предлагает текущий контекст выполнения (если тот, что здесь указан выше, чем тот, который в противном случае получил бы этот блок)».
Если вам требуется, чтобы item2 выполнялся перед item1, используйте notify
для их заказа:
item2.notify(queue: concurrentQueue, execute: item1)
Ни в коем случае не пытайтесь использовать QoS для заказа рабочих элементов. QoS - сложная система, которая включает в себя больше, чем просто приоритет;это также включает в себя такие вещи, как, находится ли устройство в режиме энергосбережения. Назначьте элементам QoS, соответствующее их намерениям, на основе описаний каждого уровня обслуживания. Если вам требуется, чтобы все выполнялось в определенном порядке, используйте зависимости (например, notify
), чтобы упорядочить их.