请考虑以下代码。
using System.Threading.Tasks;
using System.Collections.Generic;
using HiQPdf;
namespace bla
{
class Program
{
private static List<Task> tlist = new List<Task>();
static void Main(string[] args)
{
for (int i = 0; i < 21; i++)
{
tlist.Add(Task.Run(() =>
{
var r = new HtmlToPdf();
var pdf = r.ConvertUrlToMemory("google.com");
}));
}
Task.WaitAll(tlist.ToArray());
}
}
}
这会创建20个HiQPDF实例,用于创建Google的图像。事实上,HiQPDF创建了HiQPDF.dep和HiQPDF.rda的实例,它们可以完成实际的工作。并行HiQPDF进程的最大数量似乎是4.这是一个相当长的过程,对我想做的事情至关重要。
我想要的是增加4个并发进程的限制。
我尝试使用Parallel.ForEach()
和.AsParallel().ForAll()
,Threading
的不同实现,但没有任何帮助增加并行运行的实际进程数。我开始认为这是Windows 10的限制。
答案 0 :(得分:1)
快速检查库中显示HtmlToPdf.MaxParallelConversions
的默认值为4.我认为你应该增加它:
HtmlToPdf.MaxParallelConversions = 20;