gpt4 book ai didi

C#:异步运行此代码的不同方法?

转载 作者:行者123 更新时间:2023-11-30 13:24:21 26 4
gpt4 key购买 nike

我有这个代码

List<string> myList = new List<string>();

myList.AddRange(new MyClass1().Load());
myList.AddRange(new MyClass2().Load());
myList.AddRange(new MyClass3().Load());

myList.DoSomethingWithValues();

异步运行任意数量的 Load() 方法然后确保在所有异步线程完成时运行 DoSomethingWithValues() 的最佳方法是什么(当然不会在每次回调发生时递增变量并等待 == 3)

最佳答案

我个人最喜欢的是:

List<string> myList = new List<string>();

var task1 = Task.Factory.StartNew( () => new MyClass1().Load() );
var task2 = Task.Factory.StartNew( () => new MyClass2().Load() );
var task3 = Task.Factory.StartNew( () => new MyClass3().Load() );

myList.AddRange(task1.Result);
myList.AddRange(task2.Result);
myList.AddRange(task3.Result);

myList.DoSomethingWithValues();

关于C#:异步运行此代码的不同方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4995180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com