public static void ExecuteSync(Action task) { var innerTask = new TaskFactory.InnerTask(task); TasksQueue.Enqueue(innerTask); while (!innerTask.IsCompleted) { } return; }
private IEnumerator Work() { while (true) { TaskFactory.InnerTask task = Dequeue(); if (task == null) { yield return(new WaitForEndOfFrame()); } else { task.Task.Invoke(); if (task.Callback != null) { task.Callback.Invoke(); } task.IsCompleted = true; } } }