172 похожих чатов

Добрые день, вопрос возможно глупый, но я все никак не

могу понять одну вещь в GCD.

У меня две очереди. Я проверяю в каждой на каком потоке она выполняет таск. Две очереди выполняют их на разных потоках.

В первой я принчу 1 и усыпляю поток на две секунды, сам таск отправляю синхронно, что блокирует данную очередь. Главный вопрос: как так выходит, что вторая очредь ждет выполнения таска у первой? Разве очереди не должны работать независимо друг от друга? Как она понимает что первая очердь спит, откуда? Может это потому что все приватные очерди все равно отправляют все свои таски на глобал очередь?

Скорее всего так никто не делает, просто мне бы хотелось понять полностью устройство этой абстракции

2 ответов

30 просмотров

Программа же работает сверху вниз. Пока не закончится выполнения concurrent1 выполнение кода не будет продолжаться. Если выполнить асинхронно, то поток пойдет дальше. Попробуй поставить сначала асинк с паузой на 1-2 сек, потом синк с паузой на 1-2 сек.

Jeytery- Автор вопроса
Oleksandr Oliinyk
Программа же работает сверху вниз. Пока не закончи...

все я понял, слип усыпает главный поток в котором я долежен вызвать выполнение второго таска, поэтому он закину тего в очередь после слипа

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта