ReaderWriteLock是用来保证Writer和Reader的互斥:1) 如果一个Writer Acquire了locker,那么别的Writer和Reader就不能在Acquire Locker了,这些现成会在Acquirexxxlock方法上block,直到可以得到对应的locker (而不是简单的“不能运行”)2) 多个Reader可以同时AcquireReaderLock,没有互斥问题。

解决方案 »

  1.   

    AcquireWriterLock(int) 或 AcquireWriterLock(TimeSpan)AcquireReaderLock(int) 或 AcquireReaderLock(TimeSpan)后面的参数又是什么意思?
    MSDN里面讲是超时时间?
    超时时间是何义?
      

  2.   

    在指定的时间内不能成功的AcquireLock,比如一个Writer在得到Lock之后工作了太长的时间,那么其他试图AcquireReader/WriterLock的线程就可能超时。