请问在C#中有没有信号量(Semaphore)啊?如何使用?如果没有如何实现一个同步队列(有多个生产者和多个消费者)?谢谢。

解决方案 »

  1.   

    以下是.NET提供的线程处理对象:
    Monitor 
    解释如何使用 Monitor 类来同步对成员的访问或生成自己的线程管理类型。 
    WaitHandle 
    描述 WaitHandle 对象,该对象是操作系统同步句柄的托管表示形式。 
    ManualResetEvent 
    解释在事件发生时如何向 ManualResetEvent 发出信号以及如何手动重置它。 
    AutoResetEvent 
    解释在事件发生时如何向 AutoResetEvent 发出信号。 
    Mutex 
    解释如何使用 Mutex 来同步对对象的访问或生成自己的同步机制。 
    Interlocked 
    解释如何使用 Interlocked 类来递增或递减值以及在单个原子操作中存储该值。 
    ReaderWriterLock 
    定义实现单个编写器/多个读取器语义的锁。
      

  2.   

    回复人: hh1978(绝地反击) ( ) 信誉:100  2005-11-17 21:09:00  得分: 0  
     
     
       完了,csdn没有高手了  
     
    不管我的事反正我是低手!
      

  3.   

    Mutex类可以定义一个互斥体,不知道是不是你说的信号量,是在多线程的时候标示一个线程使用而其它线程等待的.
      

  4.   

    API里面的CreateSemaphore创建信号量
    请问C#怎么用啊?
    C#怎么调用Win32API