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

    while (!queue_.empty()) {
        (*(queue_.front()))();
        queue_.pop();
    }
}
コード例 #2
0
ファイル: run_loop.cpp プロジェクト: tabsong/mapbox-gl-native
void RunLoop::push(std::shared_ptr<WorkTask> task) {
    withMutex([&] { queue.push(std::move(task)); });
    impl->async->send();
}