请考虑以下代码。
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实例,创建了谷歌的图像。问题是,HiQPDF创建了一个HiQPDF.dep和HiQPDF.rda的实例,它们执行实际的工作。并行HiQPDF进程的最大数目似乎是4。这是一个相当长的过程,对于我想要做的事情至关重要。
我想要的是增加4个并发进程的限制。
我尝试使用Parallel.ForEach()和.AsParallel().ForAll(),这是Threading的不同实现,但是没有什么能帮助增加并行运行的进程的实际数量。我开始认为这是Windows 10的一个限制。
发布于 2018-05-25 21:35:45
库中的快速检查显示HtmlToPdf.MaxParallelConversions的缺省值是4。我认为您应该增加它:
HtmlToPdf.MaxParallelConversions = 20;https://stackoverflow.com/questions/50532576
复制相似问题