Пример #1
0
        public Option <WorkDispatch <W> > Dispatch()
        {
            var work = default(WorkSubmission <W>);

            if (enqueued.TryDequeue(out work))
            {
                var item = new WorkDispatch <W>(work);
                if (dispatched.TryAdd(item.WorkId, item))
                {
                    return(item);
                }
            }
            return(none <WorkDispatch <W> >());
        }
Пример #2
0
 public WorkCompletion(WorkDispatch <W> work, TResult result)
 {
     this.work      = work;
     this.result    = result;
     this.timestamp = now();
 }