假设我有具有静态列表任务的 TasksManager(不确定列表是否是好的解决方案)并且有静态方法addTaskToList(MyTask task){tasks.add(task);},
removeTaskFromList(MyTask task){tasks.remove(task);}
doInBackground() 中的每个任务都调用第一个方法,而在 onPostExecute() 中还有第二个带有“this”的方法调用。MyTask 具有字符串字段“方法”。
我想取消此列表的任务,其中 task.getMethod().contains("url").. 不确定此代码是否足以稳定工作.. 看起来任务的 onCancelled() 并不总是被调用,多线程可能很危险对于我认为的这种方法。
for (MyTask task : tasks) {
if (task.getMethod().contains("url")) {
task.cancel(true);
break;
}
}
以这种方式存储任务是正常做法还是您可以建议我更优雅?