And*_*rew 4 delphi omnithreadlibrary delphi-xe4
是否有可能以某种方式监控管道任务?我试图像这样为每个任务添加监视器
FPipeline := Parallel.Pipeline()
.Stage(StageWorker1, Parallel.TaskConfig.MonitorWith(MyMonitor))
.NumTasks(MaxReadThreadCount)
.Stage(StageWorker2, Parallel.TaskConfig.MonitorWith(MyMonitor))
.Run();
Run Code Online (Sandbox Code Playgroud)
但获得异常"任务只能用一个监视器监视"(据我所知,这是因为已经为管道阶段安装了内部隐藏监视器).
使用Parallel.TaskConfig.OnMessage并提供通用的消息处理功能.
FPipeline := Parallel.Pipeline()
.Stage(StageWorker1, Parallel.TaskConfig.OnMessage(MessageProc))
.NumTasks(MaxReadThreadCount)
.Stage(StageWorker2, Parallel.TaskConfig.OnMessage(MessageProc))
.Run();
procedure MessageProc(var msg: TOmniMessage);
begin
...
end;
Run Code Online (Sandbox Code Playgroud)
MessageProc
可以是正常的程序或方法.
归档时间: |
|
查看次数: |
328 次 |
最近记录: |