gpt4 book ai didi

delphi - 如何监控 OmniThreadLibrary 中的 Pipeline 阶段?

转载 作者:行者123 更新时间:2023-12-03 15:25:20 28 4
gpt4 key购买 nike

是否可以以某种方式监视管道任务?我尝试像这样向每个任务添加监视器

FPipeline := Parallel.Pipeline()
.Stage(StageWorker1, Parallel.TaskConfig.MonitorWith(MyMonitor))
.NumTasks(MaxReadThreadCount)
.Stage(StageWorker2, Parallel.TaskConfig.MonitorWith(MyMonitor))
.Run();

但出现异常“任务只能用单个监视器进行监视”(据我了解,发生这种情况是因为已经为管道阶段安装了内部隐藏监视器)。

最佳答案

使用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;

MessageProc 可以是普通过程或方法。

关于delphi - 如何监控 OmniThreadLibrary 中的 Pipeline 阶段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18537497/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com