本文整理汇总了C++中TaskManager::cancelAll方法的典型用法代码示例。如果您正苦于以下问题:C++ TaskManager::cancelAll方法的具体用法?C++ TaskManager::cancelAll怎么用?C++ TaskManager::cancelAll使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TaskManager
的用法示例。
在下文中一共展示了TaskManager::cancelAll方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testCancel
void TaskManagerTest::testCancel()
{
TaskManager tm;
TaskObserver to;
tm.addObserver(Observer<TaskObserver, TaskStartedNotification>(to, &TaskObserver::taskStarted));
tm.addObserver(Observer<TaskObserver, TaskCancelledNotification>(to, &TaskObserver::taskCancelled));
tm.addObserver(Observer<TaskObserver, TaskFailedNotification>(to, &TaskObserver::taskFailed));
tm.addObserver(Observer<TaskObserver, TaskFinishedNotification>(to, &TaskObserver::taskFinished));
tm.addObserver(Observer<TaskObserver, TaskProgressNotification>(to, &TaskObserver::taskProgress));
AutoPtr<TestTask> pTT = new TestTask;
tm.start(pTT.duplicate());
assert (pTT->progress() == 0);
Thread::sleep(200);
pTT->cont();
while (pTT->progress() != 0.5) Thread::sleep(50);
assert (to.progress() == 0.5);
assert (to.started());
assert (pTT->state() == Task::TASK_RUNNING);
TaskManager::TaskList list = tm.taskList();
assert (list.size() == 1);
assert (tm.count() == 1);
tm.cancelAll();
assert (to.cancelled());
pTT->cont();
while (pTT->state() != Task::TASK_FINISHED) Thread::sleep(50);
assert (pTT->state() == Task::TASK_FINISHED);
assert (to.finished());
while (tm.count() == 1) Thread::sleep(50);
list = tm.taskList();
assert (list.empty());
assert (!to.error());
}
示例2: main
int main(const ArgVec& args)
{
if (!_helpRequested)
{
TaskManager tm;
tm.start(new SampleTask);
waitForTerminationRequest();
tm.cancelAll();
tm.joinAll();
}
return Application::EXIT_OK;
}
示例3: testMultiTasks
void TaskManagerTest::testMultiTasks()
{
TaskManager tm;
tm.start(new SimpleTask);
tm.start(new SimpleTask);
tm.start(new SimpleTask);
TaskManager::TaskList list = tm.taskList();
assert (list.size() == 3);
tm.cancelAll();
while (tm.count() > 0) Thread::sleep(100);
assert (tm.count() == 0);
}
示例4: testCustom
void TaskManagerTest::testCustom()
{
TaskManager tm;
CustomTaskObserver<int> ti(0);
tm.addObserver(
Observer<CustomTaskObserver<int>, TaskCustomNotification<int> >
(ti, &CustomTaskObserver<int>::taskCustom));
AutoPtr<CustomNotificationTask<int> > pCNT1 = new CustomNotificationTask<int>(0);
tm.start(pCNT1.duplicate());
assert (ti.custom() == 0);
for (int i = 1; i < 10; ++i)
{
pCNT1->setCustom(i);
assert (ti.custom() == i);
}
CustomTaskObserver<std::string> ts("");
tm.addObserver(
Observer<CustomTaskObserver<std::string>, TaskCustomNotification<std::string> >
(ts, &CustomTaskObserver<std::string>::taskCustom));
AutoPtr<CustomNotificationTask<std::string> > pCNT2 = new CustomNotificationTask<std::string>("");
tm.start(pCNT2.duplicate());
assert (tm.taskList().size() == 2);
assert (ts.custom() == "");
std::string str("notify me");
pCNT2->setCustom(str);
assert (ts.custom() == str);
S s;
s.i = 0;
s.str = "";
CustomTaskObserver<S*> ptst(&s);
tm.addObserver(
Observer<CustomTaskObserver<S*>, TaskCustomNotification<S*> >
(ptst, &CustomTaskObserver<S*>::taskCustom));
AutoPtr<CustomNotificationTask<S*> > pCNT3 = new CustomNotificationTask<S*>(&s);
tm.start(pCNT3.duplicate());
assert (tm.taskList().size() == 3);
assert (ptst.custom()->i == 0);
assert (ptst.custom()->str == "");
s.i = 123;
s.str = "123";
pCNT3->setCustom(&s);
assert (ptst.custom()->i == 123);
assert (ptst.custom()->str == "123");
s.i = 0;
s.str = "";
CustomTaskObserver<S> tst(s);
tm.addObserver(
Observer<CustomTaskObserver<S>, TaskCustomNotification<S> >
(tst, &CustomTaskObserver<S>::taskCustom));
AutoPtr<CustomNotificationTask<S> > pCNT4 = new CustomNotificationTask<S>(s);
tm.start(pCNT4.duplicate());
assert (tm.taskList().size() == 4);
assert (tst.custom().i == 0);
assert (tst.custom().str == "");
s.i = 123;
s.str = "123";
pCNT4->setCustom(s);
assert (tst.custom().i == 123);
assert (tst.custom().str == "123");
AutoPtr<SimpleTask> pST = new SimpleTask;
tm.start(pST.duplicate());
assert (tm.taskList().size() == 5);
tm.cancelAll();
while (tm.count() > 0) Thread::sleep(50);
assert (tm.count() == 0);
}