好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#通过Semaphore类控制线程队列的方法

本文实例讲述了C#通过Semaphore类控制线程队列的方法。分享给大家供大家参考。具体实现方法如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

using System.Diagnostics;

using System.Threading;

using System.ComponentModel;

using System.Collections;

using System.Net;

using System.Runtime.Serialization;

using System.Xml;

using System.Globalization;

using System.Text.RegularExpressions;

using System.Data;

using System.Data.SqlClient;

namespace ConsoleApp

{

  /// <summary>

  /// 线程控制队列

  /// Semaphore类

  /// </summary>

  class Program

  {

   static Semaphore semaphore;

   static void Main( string [] args)

   {

    semaphore = new Semaphore(0, 2);

    Thread thread;

    for ( int i = 0; i <= 5; i++)

    {

     thread = new Thread( new ParameterizedThreadStart(Run));

     thread.Start( "thread_" +i.ToString());

    }

    semaphore.Release(2);

    Console.ReadLine();

   }

   static void Run( object obj)

   {

    semaphore.WaitOne();

    Console.WriteLine( "thread " + obj.ToString() + " into the method" );

    System.Threading.Thread.Sleep(5000);  

    Console.WriteLine( "_thread " + obj.ToString() + " leave the method" );

    semaphore.Release();

   }

  }

}

希望本文所述对大家的C#程序设计有所帮助。

dy("nrwz");

查看更多关于C#通过Semaphore类控制线程队列的方法的详细内容...

  阅读:80次