0

我正在编写一个提供端到端图像处理系统的 C# windows 窗体应用程序。该系统由许多图像处理块(即缩放器、降噪等)组成,每个块都是用 C 编写的算法,我将它们中的每一个都构建到 DLL 中并从我的 C# 应用程序中调用它们.

我的系统是这样的:

(main) input1 -> block1 -> block2

(ig) input2 -> block3 -> block4  -> MUX -> output

(pg) input3 -> block5 -> block6

目前,我正在使用的代码如下所示:

   Task.Factory.StartNew(() => Parallel.For(0, loop_num, i =>
            {
                Parallel.Invoke(
                () =>
                {
                    main(i);
                },
                () =>
                {
                    ig(i);
                },
                () =>
                {
                    pg(i);
                }
                );
                mux(i);
            }), TaskCreationOptions.LongRunning);

但我看到该应用程序需要很长时间才能完成几张图像。其实我不擅长C#,只是通过一些例子自学并行和任务。

我不知道我的代码在处理多个处理方面是否足够好,还是有更好的方法?所以我开始这个线程来寻求帮助/建议。

4

0 回答 0