public ServiceLockThreadParameter(IServiceLockItemProcessor processor, Model.ServiceLock item, ServiceLockThreadDelegate del) { _item = item; _processor = processor; _del = del; }
public void Enqueue(IServiceLockItemProcessor processor, Model.ServiceLock item, ServiceLockThreadDelegate del) { ServiceLockThreadParameter parameter = new ServiceLockThreadParameter(processor, item, del); lock (_syncLock) { _queuedItems.Add(parameter); } Enqueue(parameter, delegate(ServiceLockThreadParameter threadParameter) { threadParameter.Delegate(threadParameter.Processor, threadParameter.Item); QueueItemComplete(threadParameter.Item); }); }