ktcoro_wait
Приостановка выполенения функции на время основанное на корутинах C++20Примеры кода
C++:
#include <iostream>
#include <chrono>
#include "ktcoro_wait.hpp"
ktwait bar() {
using namespace std::chrono_literals;
while (true) {
std::cout << "Я печатаю каждые 2.5 секунды" << std::endl;
co_await 2.5s;
}
}
ktwait baz() {
using namespace std::chrono_literals;
co_await 3s;
std::cout << "Привет от baz спустя 3 секунды" << std::endl;
}
ktwait foo(int time) {
while (true) {
co_await std::chrono::seconds(time);
std::cout << "Я вызываю baz каждые " << time << " секунд" << std::endl;
co_await baz();
std::cout << "А еще жду пока baz выполнится" << std::endl;
}
}
int main() {
ktcoro_tasklist tasklist;
tasklist.add_task(foo, 2);
tasklist.add_task(bar);
while (true) {
tasklist.process();
}
}
Download & Source:
GitHub - kin4stat/ktcoro_wait
Contribute to kin4stat/ktcoro_wait development by creating an account on GitHub.
github.com
Последнее редактирование: