Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在高并发图像处理中确定任务优先级(防止堆叠)_C#_.net_Multithreading_Parallel Processing_Task Parallel Library - Fatal编程技术网

C# 在高并发图像处理中确定任务优先级(防止堆叠)

C# 在高并发图像处理中确定任务优先级(防止堆叠),c#,.net,multithreading,parallel-processing,task-parallel-library,C#,.net,Multithreading,Parallel Processing,Task Parallel Library,在C#中是否有选项为首先运行的任务赋予优先级。我正在使用一个用于图像处理的代码。在我的测试和高工作负载(例如100并发并行图像处理和上载)中,当我在没有任何等待的情况下并行运行任务(例如Thread.sleep(1000))时,上载会堆叠起来,并且几乎所有图像都会在大多数图像上载后发送 我希望优先考虑首先输入的图像,以便尽快输出。在高负载情况下,我发现我需要等待很长时间,直到看到第一个图像输出。实际上载时只使用一个小的、固定大小的线程池,以便以后的图像必须排队?大多数情况下,如果您需要对任务/线

在C#中是否有选项为首先运行的任务赋予优先级。我正在使用一个用于图像处理的代码。在我的测试和高工作负载(例如100并发并行图像处理和上载)中,当我在没有任何等待的情况下并行运行任务(例如Thread.sleep(1000))时,上载会堆叠起来,并且几乎所有图像都会在大多数图像上载后发送


我希望优先考虑首先输入的图像,以便尽快输出。在高负载情况下,我发现我需要等待很长时间,直到看到第一个图像输出。

实际上载时只使用一个小的、固定大小的线程池,以便以后的图像必须排队?大多数情况下,如果您需要对任务/线程进行优先级排序,则需要使用你有一个设计问题。@L.B你能解释这个问题吗。我正在并行运行图像处理任务。我显然需要更多的CPU能力来处理更多的任务,但这就是CPU处理过程的方式,这导致了我所描述的结果。@IDANSHECTER为了能够对这个问题进行评论,你应该发布一个
我正在运行图像处理任务。@IDANSHECTERks in parallel
没有多大意义,因为有很多不同的方法可以实现这一点。尝试一个消费生产者,比如阻塞集合。我在生产者中读取一些文本文件,在消费者中解析出单词,就可以做到这一点。你可以有一个最大大小,这样生产者就不会走在消费者前面太远。上传可能不会从并行中受益。