Geração Multithread
IronPDF fornece geração de PDF segura para threads e oferece suporte a processos de multithreading quando se trata de gerar documentos PDF com a classe ChromePdfRenderer como visto neste exemplo. Dessa forma, você pode lidar com tarefas de geração de PDF de qualquer tamanho, ou tarefas de geração de PDF em lote, simultaneamente, sem o receio de encontrar problemas como bloqueio de threads.
Etapas para a geração de PDFs multithread
A primeira etapa na geração de documentos PDF em um ambiente com multithreading é criar uma nova instância ChromePdfRenderer. Isso nos dá acesso ao poderoso mecanismo de renderização do IronPDF, capaz de produzir documentos PDF com perfeição de pixels. Então, criaremos um novo List<string> de objetos de string, chamado htmlStrings. Esta lista contém todas as strings HTML a partir das quais geraremos documentos PDF em nosso ambiente multithread.
Em seguida, precisamos usar programação assíncrona para renderizar todas as nossas strings HTML em arquivos PDF simultaneamente. htmlStrings.Select(html => renderer.RenderHtmlAsPdfAsync(html)) itera sobre nossa lista de strings HTML e chama o método RenderHtmlAsPdfAsync, acessado através do renderer, em cada string encontrada, convertendo-as em documentos PDF. Task.WhenAll() é usado para acumular as tarefas assíncronas em uma única tarefa que será concluída assim que todas as chamadas individuais RenderHtmlAsPdfAsync forem finalizadas. Então, ela retornará um novo array de objetos PdfDocument.
Finalmente, iremos obter os resultados da nossa geração de PDF. await task garante que o método assíncrono atual espere até que todas as tarefas de renderização de PDF assíncronas sejam concluídas e recupere o array resultante de objetos PdfDocument. ToList() então converte o array de objetos PdfDocument na Lista pdfList para facilitar a posterior manipulação dos documentos PDF.

