我有2个方法getReponseFromDb()& getResponsefromthirdParty()以数据格式返回一些数据。我怎样才能使这个请求异步并等到它们都返回结果
def count_vowels(string)
string.count('aeiou')
end
答案 0 :(得分:0)
使用System.Threading.Tasks;
/ 保留所有任务的列表 /
List<Task<DataTable>> AllTasks = new List<Task<DataTable>>();
/ 并行调用两个函数 /
Task<DataTable> t1 = new Task<DataTable>(() => getReponseFromDb());
Task<DataTable> t2 = new Task<DataTable>(() => getResponseFromthirdParty());
AllTasks.Add(t1);
AllTasks.Add(t2);
t1.Start();
t2.Start();
/ 等待所有任务完成 /
Task.WhenAll(AllTasks).ContinueWith(task => ProcessResult(AllTasks));
注意:如果连接到同一个数据库,则使用不同的SqlConnection对象执行这两个任务,否则可能会出错!:)