[英]c# multithreading sending out 3 different threads
我最近对此有一个疑问,但是现在遇到一个错误,即“无法为隐式类型的局部变量分配空值”。 下划线的部分是var Results的声明。
我要做的就是同时发送这3种不同的方法,因为它们都是数据工作,需要一些时间。 我认为异步发送它们,然后等待3个部分的返回效果最佳。 每个方法都返回一个数据表,而我只是试图访问返回的数据。
谁能指出我正确的方向?
async void Main(string[] args)
{
// need instance, virtual methods, may add overrides.
SchoolData CSD = new SchoolData();
FData FD = new FData();
GiftData GD = new GiftData();
List<Task> tasks = new List<Task>();
tasks.Add(Task.Run(() => CSD.getSchool()));
tasks.Add(Task.Run(() => FD.getF()));
tasks.Add(Task.Run(() => GD.getGift()));
var Results = await Task.WhenAll(tasks);
}
您将需要一个List<Task<DataTable>>
因为您的任务都计算DataTables
。 因为您正在存储(非通用) Task
对象,这意味着它们不代表任何结果。
您还需要将代码移到Main
之外的其他方法中,因为它无法标记为async
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.