【发布时间】:2020-07-26 23:29:09
【问题描述】:
我正在研究 C++20 中的协程。
我试图了解 co_await 是如何工作的。
是 co_await 的任何实现。
阅读,co_wait似乎有future/promise的行为。
在线程内使用 co_wait 调用函数/对象时,会调用类似这样的内容
auto promise = std::promise<std::string>();
auto future = promise.get_future();
void sleep()
{
std::cout << future.get() << std::endl;
}
当 notify 被调用时,另一个线程调用类似这样的东西
void wakeup()
{
promise.set_value("Hello World");
}
【问题讨论】:
-
我已经在下面的链接中提供了详细的答案。 stackoverflow.com/questions/57621168/…
标签: c++ asynchronous c++20 c++-coroutine