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; }
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 }
public void Dispose() { ClearTasks(); m_controller = null; }