ch3_04.cs

来自「《c#技术内幕代码》」· CS 代码 · 共 57 行

CS
57
字号
using System;
using System.Threading;

public class CH3_4
{
    Thread[] threads;
    int      whichThread;
    int      runCount;
    
    public void CheckThread()
    {
//       lock(this)
       {
	       // Kill them as they come in
	       runCount ++;
	       Console.WriteLine("Current Thread {0}", whichThread );
	       Console.WriteLine("Run Count {0}", runCount );
	       if ( runCount > 4 )
	       {
		  threads[whichThread].Stop();
		  Console.WriteLine("Stopping thread {0}", whichThread );
		  runCount = 0;
		  whichThread++;
	       }
       }
    }
    
    public void RunThread()
    {
       Boolean done = false;
       while ( !done )
       {
           CheckThread();
       }
    }
    
    public void StartThreads()
    {
	threads =  new Thread[5];
	runCount = 0;
	whichThread=0;
	
	for ( int i=0; i<5; ++i )
	{
	   threads[i] = new Thread( new ThreadStart(RunThread) );
	   threads[i].Start();
	}
    }
    
    public static void Main()
    {
        CH3_4 app = new CH3_4();
	
	app.StartThreads();
    }
}

⌨️ 快捷键说明

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