Пример #1
0
 public static void RunMultiplicationThread(int AmountOfRows)
 {
     PrintedAlready = false;
     CheckFinishMRE = new ManualResetEvent(false);
     CounterOfRemainingTasks = new TaskCounter(AmountOfRows);
     Thread MultiplicationThread = new Thread(() => StartMultiplication(AmountOfRows));
     MultiplicationThread.Start();
 }
Пример #2
0
 public static void calculateAreasInManyThreads()
 {
     ThreadPool.SetMaxThreads(20, 20);
     CurrentMRE = new ManualResetEvent(false);
     CounterOfRemainingTasks = new TaskCounter(40);
     for (int counter = 0; counter < 40; ++counter)
     {
         Triangle BufForTriangle = new Triangle(MainWindow.MainRandom.Next(50), MainWindow.MainRandom.Next(50), counter);
         ThreadPool.QueueUserWorkItem(o => BufForTriangle.CalculateTriangleArea());
     }
     CurrentMRE.WaitOne();
 }
Пример #3
0
 public static void CreateFiles(Object sender, EventArgs e)
 {
     if (!ThreadsRunning && !FilesWereCreated)
     {
         ThreadsRunning = true;
         CounterOfRemainingTasks = new TaskCounter(100);
         ThreadPool.SetMaxThreads(20, 20);
         for (int counter = 0; counter <= 100; ++counter)
         {
             int BugFixInt = counter;
             ThreadPool.QueueUserWorkItem(o => SaveFile(BugFixInt));
         }
     }
 }