106 читали · 4 года назад
Swift. Немного о понимании многопоточности при работе с GCD.
Одним из основных инструментов для работы с многопоточностью является GCD. Вроде всё понятно: при работе с GCD мы работаем с потоками не напрямую, а через очереди (queue), добавляя в них задачи (замыкания), которые выдергивается системой по принципу FIFO. Очередь может последовательная (.serial) или параллельная (.concurrent). И напоследок, задачи можно добавлять в очередь синхронно (.sync) или (.async), тут, как мне кажется, и возникают проблемы и вопросы. Блокирует ли параллельную очередь синхронное добавление задачи? Для того, чтобы получить ответ рассмотрим два примера...
05:51
1,0×
00:00/05:51
53,6 тыс смотрели · 4 года назад