using System; using System.Threading; using System.Diagnostics; namespace _1 { class Program { static void f() { int x = 0; x++; } static void Main(string[] args) { int TimeToCreate = 0; int TimeToTerminate = 0; Stopwatch CreationTime = new Stopwatch(); Stopwatch TerminationTime = new Stopwatch(); for (int i = 0; i < 100; i++) { Thread t1 = new Thread(f); //Stopwatch 1 CreationTime.Start(); t1.Start(); CreationTime.Stop(); //Stopwatch 2 TerminationTime.Start(); t1.Abort(); TerminationTime.Stop(); } TimeToCreate = Convert.ToInt32(CreationTime.ElapsedMilliseconds)/100; TimeToTerminate = Convert.ToInt32(TerminationTime.ElapsedMilliseconds) / 100; Console.WriteLine("Creation and terminate time counter for 100 threads\n"); Console.WriteLine("Average time of a creation of a thread: " + TimeToCreate + " ms"); Console.WriteLine("Average time of a termination of a thread: " + TimeToTerminate + " ms"); Console.ReadLine(); } } }