本文整理汇总了C++中WorkQueue::splice方法的典型用法代码示例。如果您正苦于以下问题:C++ WorkQueue::splice方法的具体用法?C++ WorkQueue::splice怎么用?C++ WorkQueue::splice使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorkQueue
的用法示例。
在下文中一共展示了WorkQueue::splice方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: shutdown
void ThreadPoolTaskExecutor::shutdown() {
stdx::unique_lock<stdx::mutex> lk(_mutex);
_inShutdown = true;
WorkQueue pending;
pending.splice(pending.end(), _networkInProgressQueue);
pending.splice(pending.end(), _sleepersQueue);
for (auto&& eventState : _unsignaledEvents) {
pending.splice(pending.end(), eventState->waiters);
}
for (auto&& cbState : pending) {
cbState->canceled.store(1);
}
for (auto&& cbState : _poolInProgressQueue) {
cbState->canceled.store(1);
}
scheduleIntoPool_inlock(&pending, std::move(lk));
_pool->shutdown();
}