Example #1
0
 public PTTaskGroup(IPTSynchronizer synchronizer, PTTimePair timePair, PTController controller)
 {
     m_subscriber    = new Subscriber(HandleTasks, timePair, synchronizer);
     m_timePair      = timePair;
     m_lock          = new object();
     m_tasks         = new List <PTTask>();
     m_tasksToFinish = new Queue <PTThreadTask>();
     m_controller    = controller;
 }
Example #2
0
        private void Start()
        {
            Load();
            Controller = new PTController();
#if DEBUG_SYNCHRONIZATION
            Disposable <List <PTTask> > tasks = ListPool <PTTask> .Instance.BorrowDisposable();

            foreach (var group in PTUtils.GetAllTimePairs())
            {
                var task = new SimpleTask(group, group);
                tasks.Value.Add(ParallelTasker.AddTask(group, group, task.OnInitialize, task.Execute, task.OnFinalize));
            }
            StartCoroutine(WaitAndClearTasks(tasks));
#endif
        }
Example #3
0
 public void Dispose()
 {
     ClearTasks();
     m_controller = null;
 }