Csharp/C Sharp/Thread/Threads Error

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Thread code with a problem

<source lang="csharp"> /* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110

  • /

/*

 Example14_7.cs shows code with a problem
  • /

using System; using System.Threading; public class Example14_7 {

 // a shared counter
 private int Runs = 0;
 // the CountUp method increments the shared counter
 public  void CountUp() 
 {
   while (Runs < 10)
   {
     int Temp = Runs;
     Temp++;
     Console.WriteLine(Thread.CurrentThread.Name + " " + Temp);
     Thread.Sleep(1000);
     Runs = Temp;
   }
 }
 public static void Main() 
 {
   // Make an instance of this class
   Example14_7 ex = new Example14_7();
   // And run the test outside of the static method
   ex.RunThreads();
 }
 public void RunThreads()
 {
   // create and launch two threads
   Thread t2 = new Thread(new ThreadStart(CountUp));
   t2.Name = "t2";
   Thread t3 = new Thread(new ThreadStart(CountUp));
   t3.Name = "t3";
   t2.Start();
   t3.Start();
 }

}


      </source>