嗨,我有一个List<List<string>>
,假设我们说它为batchList,现在我想先处理四个批次,然后再处理另外两个批次,我该如何实现这一目标
代码如下:
List<List<string>> termsBatches = searchTerms.Split(2).ToList(); //batchList Count is 6
List<Task> taskList = new List<Task>(); //initialize task list for wait
foreach (List<string> batch in termsBatches)
{
Task<SolrSearchResults> task = Task<SolrSearchResults>.Factory.StartNew(()=>
{
//Do Somethisng
});
taskList.Add(task);
Task.WhenAll(taskList.ToArray());
foreach (Task<SolrSearchResults> result in taskList)
{
//Process result
}
}
在处理了四个请求的结果后,我想触发其他两个请求,那么我该如何实现呢?
答案 0 :(得分:0)
如果您想在物品到达时处理它们并使用多线程,则应该考虑使用Microsoft的Reactive Framework(NuGet“ System.Reactive”)。
然后,假设您拥有方法class ReporterSerializer(serializers.ModelSerializer):
article = serializers.StringRelatedField(source='article_set', many=True)
class Meta:
model = Reporter
fields = '__all__'
,则可以执行以下操作:
many=True