Welcome

首页 / 软件开发 / WCF / WCF示例(13) - 并发控制(锁)

WCF示例(13) - 并发控制(锁)2012-01-20 webabcd 并发控制(锁)(Mutex, Semaphore, Monitor, Lock, ThreadPool, Interlocked, ReaderWriterLock)

介绍

WCF(Windows Communication Foundation) - 并发控制:以ConcurrencyMode.Multiple并发模式及InstanceContextMode.Single实例模型为例(此时有并发问题),介绍如何做并发控制,即各种锁的使用(Mutex, Semaphore, Monitor, Lock, ThreadPool, Interlocked, ReaderWriterLock)

示例

1、服务

Enum.cs

using System;using System.Collections.Generic;using System.Linq;using System.Text;  using System.ServiceModel;using System.Runtime.Serialization;  namespace WCF.ServiceLib.ConcurrencyLock{  /**//// <summary>  /// 锁 类型的枚举  /// </summary>  [DataContract]  public enum LockType  {    /**//// <summary>    /// 不使用任何并发控制    /// </summary>    [EnumMember]    None,    /**//// <summary>    /// Mutex    /// </summary>    [EnumMember]    Mutex,    /**//// <summary>    /// Semaphore    /// </summary>    [EnumMember]    Semaphore,    /**//// <summary>    /// Monitor    /// </summary>    [EnumMember]    Monitor,    /**//// <summary>    /// Lock    /// </summary>    [EnumMember]    Lock  }}