技术开发 频道

一个C#的加锁解锁示例


【IT168技术文档】

using System; using System.Collections.Generic; using System.Text; namespace Generic_Reusable { interface ILockable { void Lock(); void Unlock(); } class SharedMemoryLock : ILockable { #region ILockable Members public void Lock() { Console.WriteLine( "SharedLock performs lock method. "); } public void Unlock() { Console.WriteLine( "SharedLock performs unlock method. "); } #endregion } class FileLock : ILockable { #region ILockable Members public void Lock() { Console.WriteLine( "FileLock performs lock method. "); } public void Unlock() { Console.WriteLine( "FileLock performs unlock method. "); } #endregion } class ReusableLock <LOCK > : ILockable where LOCK : ILockable, new() { private LOCK lock__ = new LOCK(); #region ILockable Members public void Lock() { lock__.Lock(); } public void Unlock() { lock__.Unlock(); } #endregion } class Program { static void Main(string[] args) { try { ReusableLock <SharedMemoryLock > theLock = new ReusableLock <SharedMemoryLock >(); theLock.Lock(); // TODO: Add your code here theLock.Unlock(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } }
0
相关文章