namespace WIDESEAWCS_Tasks { public static class MemoryLockManager { private static Dictionary _locks = new Dictionary(); /// /// 开启锁 /// /// /// public static bool TryAcquireLock(string jobName) { if (!_locks.ContainsKey(jobName)) { _locks[jobName] = new SemaphoreSlim(1, 1); } try { return _locks[jobName].Wait(0); } catch (Exception) { return false; } } /// /// 释放锁 /// /// public static void ReleaseLock(string jobName) { if (_locks.ContainsKey(jobName)) { _locks[jobName].Release(); } } } }