/// <summary>
/// 一个需要执行的方法
/// </summary>
public delegate void ExecuteDelegate();
/// <summary>
/// 单线程池
/// </summary>
public class SingleExecute
{
private static SingleExecute instance = null;
/// <summary>
/// 单例
/// </summary>
public static SingleExecute Instance
{
get
{
lock (o)
{
if (instance == null)
instance = new SingleExecute();
return instance;
}
}
}
private static object o = 1;
/// <summary>
/// 互斥锁
/// </summary>
public Mutex mutex;
private SingleExecute()
{
mutex = new Mutex();
}
/// <summary>
/// 单线程处理逻辑
/// </summary>
/// <param name="executeDelegate"></param>
public void Execute(ExecuteDelegate executeDelegate)
{
lock (this)
{
mutex.WaitOne();
executeDelegate();
mutex.ReleaseMutex();
}
}
}
c#开发服务器单线程互斥锁
最新推荐文章于 2024-01-17 10:27:40 发布