我有不同的任务需要从不同的文件中读取并查找单词。我将它们放入一个任务数组中,并使用waitAny方法开始执行,如下所示:
foreach (string file in filesList)
{
files[i] = Task.Factory.StartNew(() =>
{
mySearch.Invoke(file);
});
i++;
}
System.Threading.Tasks.Task.WaitAny(files);
我希望在其中一个任务完成时停止所有其他任务(当它找到单词时即表示完成)。目前,使用waitany,我可以知道一个任务何时完成,但是我不知道如何知道哪一个已经完成以及如何停止其他任务。最好的方法是什么?