OI
Size: a a a
OI
AM
coro.resume();Task log_info() {
while (true) {
std::cerr << some_info(); << std::endl;
co_await timer(2s);
}
}Task write_db(std::string info){
co_await async_write_db(info);
callback();
}int main() {
log_info();
write_db("A");
}write_db никогда не выполнится, так как log_info займет весь потокSS
NV
IZ
D
OI
o
IZ
D
SS
IZ
AU
AM
AM
co_await после чего запустили коллбек, и вот тут проблема - останавливается выполнение всего контекста, как бы мы это делали в синхронном режиме:void async_func() {
std::async(std::launch::async, []() {
some_func();
callback();
}
}
int main() {
async_func();
}Task coro_func() {
co_await some_func();
callback();
}
int main() {
coro_func();
}AM
SK
AZ