Ejemplo n.º 1
0
 public TaskDescriptor AddTask(Func<bool> task)
 {
     var taskDescriptor = new TaskDescriptor(task);
     lock (_funcs)
     {
         _funcs.Enqueue(taskDescriptor);
     }
     return taskDescriptor;
 }
Ejemplo n.º 2
0
        public async Task<bool> AddTaskAsync(Func<bool> task)
        {
            var taskDescriptor = new TaskDescriptor(task);
            lock (_funcs)
            {
                _funcs.Enqueue(taskDescriptor);
            } 
            var asyncTask = new Task<bool>(() => Wait(taskDescriptor));

            return await asyncTask;
        }
Ejemplo n.º 3
0
        public bool Wait(TaskDescriptor descriptor)
        {

            descriptor.IsDone.WaitOne();
            return descriptor.Result;
        }