MVP模式的线程

本文关键字:线程 模式 MVP | 更新日期: 2023-09-27 18:03:45

我目前正在编写一个程序,该程序从用户获取输入并向服务器发出http get请求。请求将发送回一个对象中的数据,我将该对象中的数据返回给演示者,我在理解线程适合这种特定设计模式的地方遇到了问题。假设我的演示者有X个方法:

public void method1()
{
  //Make call to service project to execute http request
  someobject = serviceRequest.MakeRequest();
}
public void method2()
{
  //Make call to service project to execute http request
  someobject = serviceRequest.MakeAnotherRequest();
}
public void method3()
{
  someobject = serviceRequest.Make3rdRequest();
}

如何在一个单独的线程中启动这些方法?任何帮助都是感激的。顺便说一句,我使用的是。net 3.5。我有访问VS2010,如果有人的解决方案要求它。谢谢。

MVP模式的线程

您可以使用Task:

List<Task> tasks = new List<Task>();
tasks.Add(new Task(() => serviceRequest.MakeRequest()));
tasks.Add(new Task(() => serviceRequest.MakeAnotherRequest()));
tasks.Add(new Task(() => serviceRequest.Make3rdRequest()));
//...
//Somewhere in your code
await Task.WhenAll(tasks);

这里的每个任务都被添加到线程池中,您可以使用WhenAll或一系列其他方法来控制和访问任务及其返回值。