96 lines
3.2 KiB
C#
96 lines
3.2 KiB
C#
using System;
|
|
using System.Configuration;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Threading;
|
|
|
|
namespace ConsoleApp1
|
|
{
|
|
class Program
|
|
{
|
|
|
|
|
|
static void Main(string [] args) {
|
|
|
|
// Create an array of Thread references.
|
|
int numThread = Convert.ToInt32(args[0].ToString());
|
|
Thread[] array = new Thread[numThread];
|
|
for (int i = 0; i < array.Length; i++)
|
|
{
|
|
// Start the thread with a ThreadStart.
|
|
ThreadStart start = new ThreadStart(Start);
|
|
array[i] = new Thread(start);
|
|
array[i].Start();
|
|
}
|
|
// Join all the threads.
|
|
for (int i = 0; i < array.Length; i++)
|
|
{
|
|
array[i].Join();
|
|
}
|
|
Console.WriteLine("DONE");
|
|
|
|
}
|
|
static void Start()
|
|
{
|
|
// This method has no formal parameters.
|
|
Console.Write("Start - ");
|
|
GestorePDF.Logic.ThreadManager gp = new GestorePDF.Logic.ThreadManager();
|
|
int maxGestoreThreads = int.Parse(ConfigurationManager.AppSettings["maxGestoreThreads"]);
|
|
int limit = int.Parse(ConfigurationManager.AppSettings["gestoreThreadsLimit"]);
|
|
if (limit < maxGestoreThreads) maxGestoreThreads = limit;
|
|
gp.Main(maxGestoreThreads);
|
|
|
|
}
|
|
//static void Main(string[] args)
|
|
//{
|
|
|
|
|
|
// // Start a thread that calls a parameterized static method.
|
|
// Thread newThread = new Thread(Program.DoWork);
|
|
// newThread.Start(42);
|
|
|
|
// // Start a thread that calls a parameterized instance method.
|
|
// Program w = new Program();
|
|
// newThread = new Thread(w.DoMoreWork);
|
|
// newThread.Start( "The answer.");
|
|
|
|
|
|
|
|
// try
|
|
// {
|
|
// //GestorePDF.Logic.ThreadManager gp = new GestorePDF.Logic.ThreadManager();
|
|
// //int maxGestoreThreads = int.Parse(ConfigurationManager.AppSettings["maxGestoreThreads"]);
|
|
// //int limit = int.Parse(ConfigurationManager.AppSettings["gestoreThreadsLimit"]);
|
|
// //if (limit < maxGestoreThreads) maxGestoreThreads = limit;
|
|
// //gp.Main(maxGestoreThreads);
|
|
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// Console.WriteLine("Errore regerico :" + ex.Message.ToString());
|
|
// }
|
|
|
|
//}
|
|
//public static void DoWork(object data)
|
|
//{
|
|
// Console.WriteLine("Static thread procedure. Data='{0}'",
|
|
// data);
|
|
// GestorePDF.Logic.ThreadManager gp = new GestorePDF.Logic.ThreadManager();
|
|
// int maxGestoreThreads = int.Parse(ConfigurationManager.AppSettings["maxGestoreThreads"]);
|
|
// int limit = int.Parse(ConfigurationManager.AppSettings["gestoreThreadsLimit"]);
|
|
// if (limit < maxGestoreThreads) maxGestoreThreads = limit;
|
|
// gp.Main(maxGestoreThreads);
|
|
|
|
//}
|
|
|
|
//public void DoMoreWork(object data)
|
|
//{
|
|
// Console.WriteLine("Instance thread procedure. Data='{0}'",
|
|
// data);
|
|
//}
|
|
|
|
}
|
|
}
|