Как устроены корутины? / Дмитрий Калугин-Балашов (Exnodes Inc.)

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 มิ.ย. 2019
  • Приглашаем на конференцию Saint HighLoad++ 2024, которая пройдет 24 и 25 июня в Санкт-Петербурге!
    Программа, подробности и билеты по ссылке: vk.cc/cuyIqx
    --------
    --------
    Backend Conf, РИТ++ 2018
    Тезисы и презентация:
    backendconf.ru/2018/abstracts/...
    Все слышали о корутинах, многие пробовали играться с ними, некоторые даже истользовали их в реальном проекте. И совсем немного тех, кто понимает, как же они на самом деле работают.

    --------
    Нашли ошибку в видео? Пишите нам на support@ontico.ru

ความคิดเห็น • 18

  • @e47ca0ef
    @e47ca0ef 2 ปีที่แล้ว +2

    Замечательный доклад. На удивление, всё оказалось понятно

  • @andrey_kadochnikov
    @andrey_kadochnikov 5 ปีที่แล้ว +14

    Силиконовая долина поиск по почке

  • @razmus89dragovich20
    @razmus89dragovich20 3 ปีที่แล้ว +1

    спасибо, интересный доклад, а особенно вопросы после доклада - ничего не понятно, но очень интересно ))

  • @triti77
    @triti77 ปีที่แล้ว

    Хороший доклад, хороший чел🙂
    Спасибо

  • @user-ks8zk9dn3s
    @user-ks8zk9dn3s 3 ปีที่แล้ว

    Прикольный доклад) спасибо) нужно лучше с памятью разобраться)

  • @Alexander-mj3jk
    @Alexander-mj3jk 2 ปีที่แล้ว

    НЯМС, setjmp/longjmp не подходит потому что man setjmp говорит так: "Caveats If the function which called setjmp() returns before longjmp() is called, the behavior is undefined.", что делает механизм больше похожим на спцифический try/catch/throw, чем на короутины

  • @maksimsergeevich5939
    @maksimsergeevich5939 2 ปีที่แล้ว

    А если сохранять значения функции в обертке в замыкании? Таким образом перед выходом из функции можно сохранять и аргументы переданные в функцию и результат функции, и состояние всех переменных. Останется только хранить ссылку на это замыкание. Таким образом это похоже на прототред с состоянием не в глобале. Соответственно и копирования нет и stackful есть )
    И синхронную операцию тоже можно передавать в корутины, просто алгоритм этой операции придется переписывать с большими костылями.

  • @DaniilK-hq5go
    @DaniilK-hq5go ปีที่แล้ว +1

    Хороший доклад, но говорить надо всё таки лучше научиться.

  • @Alexander-mj3jk
    @Alexander-mj3jk 2 ปีที่แล้ว

    бгг, он нарисовал стек снизу вверх. Я слышал, что на некоторых архитеркутарх так бывает, помоему даже на АРМ можно выбирать как индейцев так и в какую сторону будет стек расти.

    • @DaniilK-hq5go
      @DaniilK-hq5go ปีที่แล้ว

      Стек всегда рисуется снизу вверх. Или у вас гравитация ивертирована?

    • @Alexander-mj3jk
      @Alexander-mj3jk ปีที่แล้ว

      @@DaniilK-hq5go инвертирована. В большинстве CPU стек растет сверху вниз. Это можно и проверить, например на сях можете. Адресс переменной кастите к size_t и печатаете, и потом вызываете функцию и в ней делаете та же. Второй раз напечатает меньшее. число. Архитектур, в которых стек рос бы вверх я и не назову. Вроде они есть - но гораздо более редки.

  • @fedordostoevskiy4209
    @fedordostoevskiy4209 6 หลายเดือนก่อน +1

    Язык C весь зал знает, а стек половина😂. Что-то не то.

  • @user-gj2so1fv6c
    @user-gj2so1fv6c 4 ปีที่แล้ว +5

    Почему все видео доклады по coroutines, особенно на русском, делают какие-то инвалиды в плохом смысле этого слова? Дело не в дикции если что. Да и вопрос риторический, можно не отвечать.

    • @user-kp6ss7gj7o
      @user-kp6ss7gj7o 3 ปีที่แล้ว +2

      Если все кто делают эти доклады(включая Бреслава) то может проблема все таки в тебе, раз сами разработчики этой технологии делают плохие(по твоему мнению доклады)

    • @sergey477
      @sergey477 3 ปีที่แล้ว +1

      За исключением Бреслава действительно инвалиды))