本文整理汇总了C++中EventDispatcher::deliver方法的典型用法代码示例。如果您正苦于以下问题:C++ EventDispatcher::deliver方法的具体用法?C++ EventDispatcher::deliver怎么用?C++ EventDispatcher::deliver使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EventDispatcher
的用法示例。
在下文中一共展示了EventDispatcher::deliver方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: start
void EventDispatcher::start()
{
unique_lock<mutex> uk(sMtx);
if (started == true)
return;
started = true;
uk.unlock();
for (size_t i = 0; i < THREAD_SIZE; i++)
{
thread([]()
{
while (true)
{
while (true)
{
unique_lock<mutex> uk(sMtx);
if (eventMap.empty() == true)
break;
auto pair = *eventMap.begin();
eventMap.erase(eventMap.begin());
uk.unlock();
EventDispatcher *obj = pair.first;
shared_ptr<Event> &event = pair.second;
obj->deliver(event);
}
unique_lock<mutex> cv_uk(cv_mtx);
cv.wait(cv_uk);
}
}).detach();
}
}