Beispiel #1
0
void RunLoop::process() {
    Queue queue_;
    withMutex([&] { queue_.swap(queue); });

    while (!queue_.empty()) {
        (*(queue_.front()))();
        queue_.pop();
    }
}
Beispiel #2
0
void RunLoop::push(std::shared_ptr<WorkTask> task) {
    withMutex([&] { queue.push(std::move(task)); });
    impl->async->send();
}