C++ 协程 学习笔记

协程的优势就是比线程切换的时间少很多,协程的切换时间是纳秒,而进行切换的时间是微秒

单线程用协程可以轻松的处理并发任务

co_yield和co_await可以将协程暂停下来

resume又把协程激活


如果c++函数里有co_await、co_return、co_yield就会自动判定为协程

协程若不写函数返回值,它会自动返回

struct CoRet {
    struct promise_type {
        suspend_never initial_suspend() { return {}; }
        suspend_never final_suspend() noexcept { return {}; }
        void unhandled_exception() {}
        CoRet get_return_object() {
            return { coroutine_handle<promise_type>::from_promise(*this) };
        }
    };

    coroutine_handle<promise_type> _h;
};

写成的返回值需要实现promise_type结构体以及内部这几个函数,第一个是初始化时即会调用该函数,第二个结束时调用该函数,第三个是异常处理函数,第四个是CoRet被作为返回值抛出的返回值函数

上一篇:生活中的洪特规则


下一篇:通过Bedrock Access Gateway解决方案快速访问Amazon Bedrock的多种大语言模型