Вопросы с тегом «coroutine»

Сопрограммы - это общая структура управления, посредством которой управление потоком совместно передается между двумя разными подпрограммами без возврата.

142
Гринлет против. Потоки

Я новичок в gevents и greenlets. Я нашел хорошую документацию о том, как с ними работать, но ни одна из них не дала мне обоснования того, как и когда мне следует использовать гринлеты! В чем они действительно хороши? Стоит ли использовать их в прокси-сервере или нет? Почему не темы? Я не уверен в...

134
Как шаблон StartCoroutine / yield return работает в Unity?

Я понимаю принцип сопрограмм. Я знаю, как заставить стандарт StartCoroutine/ yield returnшаблон работать на C # в Unity, например, вызвать метод, возвращающийся IEnumeratorчерез, StartCoroutineи в этом методе что-то сделать, сделать, yield return new WaitForSeconds(1);чтобы подождать секунду, а...

117
Эквивалент C ++ шаблону генератора Python

У меня есть пример кода Python, который мне нужно воспроизвести на C ++. Мне не требуется какое-либо конкретное решение (например, решения yield на основе совместной подпрограммы, хотя они также могут быть приемлемыми ответами), мне просто нужно каким-то образом воспроизвести семантику. питон Это...

104
Что такое сопрограммы в C ++ 20?

Что такое сопрограммы в c ++ 20? Чем он отличается от «Parallelism2» и / или «Concurrency2» (посмотрите на изображение ниже)? Изображение ниже взято из ISOCPP. https://isocpp.org/files/img/wg21-timeline-2017-03.png...

101
asyncio.ensure_future против BaseEventLoop.create_task против простой сопрограммы?

Я видел несколько базовых руководств Python 3.5 по asyncio, выполняющих одну и ту же операцию в различных вариантах. В этом коде: import asyncio async def doit(i): print("Start %d" % i) await asyncio.sleep(3) print("End %d" % i) return i if __name__ == '__main__': loop = asyncio.get_event_loop()...

9
Это UB, чтобы возобновить сопрограмму функции-члена объекта, время жизни которого закончилось?

Этот вопрос вытекает из этого комментария: объяснение времени жизни лямбда для сопрограмм C ++ 20 относительно этого примера: auto foo() -> folly::coro::Task<int> { auto task = []() -> folly::coro::Task<int> { co_return 1; }(); return task; } Таким образом, вопрос заключается в...