And*_*ndy 5 .net task-parallel-library c#-4.0
我在.net 4.0中使用TPL来异步处理多个任务.以下是代码段:
List<Task> TaskList = new List<Task>();
while (some condition)
{
var t = Task.Factory.StartNew( () = > doSomething () );
TaskList.Add(t)
}
//Wait for all tasks to complete
Task.WaitAll(TaskList.toArray());
Run Code Online (Sandbox Code Playgroud)
如果while循环运行很长时间,"TaskList"的大小会发生什么变化?我担心如果while循环运行了几天,这将占用大量内存.我是否必须从该列表中删除已完成的任务或是否自动处理?
在内存方面有没有其他方法来优化它?
ths*_*ths 11
TaskList.RemoveAll(x => x.IsCompleted);
Run Code Online (Sandbox Code Playgroud)
我是否必须从该列表中删除已完成的任务或是否自动处理?
不,没有人会删除你的条目,List如果你不这样做.
| 归档时间: |
|
| 查看次数: |
2188 次 |
| 最近记录: |