/// <summary> /// 吃食物 /// </summary> public void Eat(F food) { _stoped = false; _lock.Read(() => { if (!CanWorking()) { return; } if (!_foods.TryAdd(food)) { return; } _enzyme.AllowOne(); }); }
/// <summary> /// 将方法加入到队列中排队执行 /// </summary> /// <param name="action"></param> public void Queue(Action action) { _syncActions.Enqueue(action); _pipeline.AllowOne(); }