コード例 #1
0
 protected override IEnumerator Do()
 {
     while (!exitEvent.InterWaitOne(0))
     {
         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);
 }
コード例 #2
0
 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);
 }