![]() |
ktcoro_waitПриостановка выполенения функции на время основанное на корутинах C++20
Примеры кода C++: [CODE] #include #include #include "ktcoro_wait.hpp" ktwait bar ( ) { using namespace std :: chrono_literals ; while ( true ) { std :: cout Download & Source: GitHub - kin4stat/ktcoro_wait Contribute to kin4stat/ktcoro_wait development by creating an account on GitHub. github.com |
|
Цитата:
|
ахуенно бро
|
remove_if же не удаляет элементы по настоящему, только меняет итераторы
std::remove, std::remove_if - cppreference.com en.cppreference.com UPD: Я еблан, там и не надо ничего удалять. @kin4stat как оно будет работать на нескольких потоках? UPD2: Проверил сам потоки. Все корутины катчатся в инстанс потока main. И bar, который вызывает co_wait из потока t1, продолжает свое выполнение уже в потоке main C++: [CODE] #include #include #include #include "include/ktcoro_wait.hpp" ktwait bar ( ) { using namespace std :: chrono_literals ; while ( true ) { std :: cout |
Цитата:
Также теперь при эвейте другой таски текущая будет ждать окончания выполнения таски которую co_await'нули. Также теперь можно удалять таски для чужих потоков, и в приципе во всем тасклисте по всем потокам. Небезопасно если вы удаляете таску которая эвейтнула другую таску. Мне слишком лень это фиксить. |
Цитата:
|
UPDATE:
Добавлено создание пользовательских инстансов тасклистов. Также теперь можно безопасно удалять таски из очереди |
ktcoro_wait/include/ktcoro_wait.hpp at 62e51941db4635d70db367e881c93053fc58623a · kin4stat/ktcoro_wait
Contribute to kin4stat/ktcoro_wait development by creating an account on GitHub. github.com Зачем тут ссылка на ktwait? upd: приведи пример удаления таска |
Цитата:
|
| Время: 20:50 |