⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex-20-03

📁 Programming Csharp Source Code(代码) Programming Csharp Source Code
💻
字号:
// Example 20-03: Simulating a shared resource

namespace Programming_CSharp
{
   using System;
   using System.Threading;

   class Tester
   {
      private int counter = 0;

      static void Main()
      {
         // make an instance of this class
         Tester t = new Tester();

         // run outside static Main
         t.DoTest();                 
      }

      public void DoTest()
      {
         Thread t1 = new Thread( new ThreadStart(Incrementer) );
         t1.IsBackground=true;
         t1.Name = "ThreadOne";
         t1.Start();
         Console.WriteLine("Started thread {0}",
            t1.Name);

         Thread t2 = new Thread( new ThreadStart(Incrementer) );
         t2.IsBackground=true;
         t2.Name = "ThreadTwo";
         t2.Start();
         Console.WriteLine("Started thread {0}",
            t2.Name);
         t1.Join();
         t2.Join();

         // after all threads end, print a message
         Console.WriteLine("All my threads are done.");
      }

      // demo function, counts up to 1K
      public void Incrementer()
      {
         try
         {
            while (counter < 1000)
            {
               int temp = counter;
               temp++; // increment

               // simulate some work in this method
               Thread.Sleep(1);

               // assign the decremented value
               // and display the results
               counter = temp;
               Console.WriteLine(
                  "Thread {0}. Incrementer: {1}", 
                  Thread.CurrentThread.Name,
                  counter);
            }
         }
         catch (ThreadInterruptedException)
         {
            Console.WriteLine(
               "Thread {0} interrupted! Cleaning up...",
               Thread.CurrentThread.Name);
         }
         finally
         {
            Console.WriteLine(
               "Thread {0} Exiting. ",
               Thread.CurrentThread.Name);
         }
      }
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -