protected override IEnumerator Do() { while (!exitEvent.WaitOne(0, false)) { if (!Dispatcher.ProcessNextTask()) { TaskDistributor.FillTasks(Dispatcher); if (Dispatcher.TaskCount == 0) { var result = WaitHandle.WaitAny(new WaitHandle[] { exitEvent, TaskDistributor.NewDataWaitHandle }); if (result == 0) { return(null); } TaskDistributor.FillTasks(Dispatcher); } } } return(null); }
protected override IEnumerator Do() { //Debug.Log("DEBUG1"); while (!(UnityThreadHelper.IsWebPlayer ? UnityThreadHelper.WaitOne(exitEvent, 0) : exitEvent.WaitOne(0, false))) { //Debug.Log("DEBUG2"); if (!Dispatcher.ProcessNextTask()) { TaskDistributor.FillTasks(Dispatcher); if (Dispatcher.TaskCount == 0) { var result = WaitHandle.WaitAny(new WaitHandle[] { exitEvent, TaskDistributor.NewDataWaitHandle }); if (result == 0) { return(null); } TaskDistributor.FillTasks(Dispatcher); } } } return(null); }