SourceCode/RFrameGenerate.BLL/Timer/CrowdPeriodLock.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Timers;
namespace RFrameGenerate.BLL
{
public class CrowdPeriodLock
{
static Timer time;
static object lockmodel = new object();
static object lockmodel_3A = new object();
public static void Start()
{
Locks = new List<LockModel>();
time = new Timer();
time.Elapsed += time_Elapsed;
time.Enabled = true;
time.Interval = 1000 * 60 * 6;
time.Start();
}
public static void Stop()
{
time.Stop();
}
static void time_Elapsed(object sender, ElapsedEventArgs e)
{
lock (lockmodel)
{
lock (lockmodel_3A)
{
for (int i = Locks.Count - 1; i >= 0; i--)
{
if (Locks[i].IsUse != true)
{
Locks.RemoveAt(i);
}
}
}
}
}
/// <summary>
/// 购物车商品
/// </summary>
static List<LockModel> Locks { get; set; }
/// <summary>
/// 获取锁,不存在会创建新的锁并返回
/// </summary>
public static void Lock(Guid id, Action action)
{
if (time == null)
throw new Exception("CrowdPeriodLock.Start();未开启");
LockModel model;
lock (lockmodel)
{
后面还有 98 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。