/// <summary> /// 添加任务列表 /// </summary> /// <param name="tasks"></param> /// <param name="weight"></param> /// <returns>开始任务数量</returns> public int AddTasks(IList <IAsyncTask> tasks, float weight = 1) { lock (mLock) { if (IsDone || weight <= 0 || tasks == null || tasks.Count == 0) { return(0); } float eweight = weight / tasks.Count; int len = 0; for (int i = 0; i < tasks.Count; i++) { IAsyncTask task = tasks[i]; if (task != null && !task.IsDone) { Task t = new Task(); t.task = task; t.weight = eweight; mTotalWeight += eweight; mTasks.Add(t); if (mStarted) { task.OnStart(); } len++; } } return(len); } }
/// <summary> /// 添加任务 /// </summary> /// <param name="task"></param> /// <param name="weight"></param> /// <returns></returns> public bool AddTask(IAsyncTask task, float weight = 1) { lock (mLock) { if (IsDone || task == null || task.IsDone || weight <= 0) { return(false); } Task t = new Task(); t.task = task; t.weight = weight; mTotalWeight += weight; mTasks.Add(t); if (mStarted) { task.OnStart(); } return(true); } }