2025-06-03 15:11:16 +02:00

41 lines
1.2 KiB
C#

using NLog;
using PDFGenerator.BusinessLayer;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace GestorePDF.Logic
{
class MasterThread
{
public static ConcurrentQueue<DataThread> ThreadsQueue = new ConcurrentQueue<DataThread>();
private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
public static void ProcessDataInSingleThread()
{
GestoreThread gestoreThread = new GestoreThread();
while (ThreadsQueue.Count > 0)
{
try
{
DataThread dataThread = null;
ThreadsQueue.TryDequeue(out dataThread);
if (dataThread != null)
{
gestoreThread.DoWork(dataThread);
}
}
catch (Exception ex)
{
logger.Errors(ex);
}
Thread.Sleep(50);
}
gestoreThread = null;
}
}
}