Delphi 如何知道已经完成了多少任务? < C++ > Builder 103.3中,我使用以下测试代码: int count = 500; _di_ITask* task = new _di_ITask[count]; ProgressBar1->Position = 0; for(int i = 0; i < count; i++){ task[i] = TTask::Create([i, this](){ // do something... Sleep(10); }); task[i]->Start(); //ProgressBar1->Position = numberOfFinishedTasks; //Application->ProcessMessages(); } TTask::WaitForAll(task, count - 1);
在本例中,有500个测试任务,我希望ProgressBar组件显示当前已完成任务的数量。我不知道如何获得这些信息。谢谢 最简单的解决方案是让lambda本身在退出之前更新ProgressBar。你可以使用或 问题是,一种阻塞方法根本不会抽取主UI消息队列,因此根本不会处理同步/队列请求。你可以通过在一个循环中调用WaitForAll来解决这个问题,这个循环有一个超时,这样循环就可以根据需要输出消息 试着这样做: 整数计数=500; std::向量任务计数; ProgressBar1->Position=0; ProgressBar1->Min=0; ProgressBar1->Max=计数; ProgressBar1->Step=1; forint i=0;iDelphi 如何知道已经完成了多少任务? < C++ > Builder 103.3中,我使用以下测试代码: int count = 500; _di_ITask* task = new _di_ITask[count]; ProgressBar1->Position = 0; for(int i = 0; i < count; i++){ task[i] = TTask::Create([i, this](){ // do something... Sleep(10); }); task[i]->Start(); //ProgressBar1->Position = numberOfFinishedTasks; //Application->ProcessMessages(); } TTask::WaitForAll(task, count - 1);,delphi,c++builder,Delphi,C++builder,在本例中,有500个测试任务,我希望ProgressBar组件显示当前已完成任务的数量。我不知道如何获得这些信息。谢谢 最简单的解决方案是让lambda本身在退出之前更新ProgressBar。你可以使用或 问题是,一种阻塞方法根本不会抽取主UI消息队列,因此根本不会处理同步/队列请求。你可以通过在一个循环中调用WaitForAll来解决这个问题,这个循环有一个超时,这样循环就可以根据需要输出消息 试着这样做: 整数计数=500; std::向量任务计数; ProgressBar1->Posit
最简单的解决方案是让lambda本身在退出之前更新ProgressBar。你可以使用或 问题是,一种阻塞方法根本不会抽取主UI消息队列,因此根本不会处理同步/队列请求。你可以通过在一个循环中调用WaitForAll来解决这个问题,这个循环有一个超时,这样循环就可以根据需要输出消息 试着这样做: 整数计数=500; std::向量任务计数; ProgressBar1->Position=0; ProgressBar1->Min=0; ProgressBar1->Max=计数; ProgressBar1->Step=1; forint i=0;i
在每个任务结束时增加一个原子计数器?@AlanBirtles问题是如何获取该信息。@跟踪者每个任务都必须报告我已完成,例如增加一个原子计数器。然后触发重新喷漆或so@churill我不知道如何检测每项任务何时完成。理想情况下,像OnTaskFinished事件这样的事件可以解决这个问题,但我找不到它。@Dima是Embarcadero的一部分。在每个任务结束时增加一个原子计数器?@AlanBirtles问题是如何获取该信息。@Tracer每个任务都必须报告我已完成,例如,增加一个原子计数器。然后触发重新喷漆或so@churill我不知道如何检测每项任务何时完成。理想情况下,像OnTaskFinished事件这样的事件可以解决这个问题,但我找不到它。@Dima是Embarcadero的一部分。它就像一个符咒!雷米:谢谢,你真是一个救世主。工作起来很有魅力!雷米:谢谢。