C# 管理子工作线程列表

C# 管理子工作线程列表,c#,vb.net,multithreading,polling,fire-and-forget,C#,Vb.net,Multithreading,Polling,Fire And Forget,经过这么多的研究,我想我应该问问专家 我正在为我的公司雇主做一个项目,我们有android和iPhone移动应用程序,它们向web服务发出请求,请求被登录到挂起状态进行处理 windows服务检索挂起的请求,并为每个请求旋转一个新线程。这是因为请求可以定向到不同的提供者,这些提供者以不同的方式处理请求。一个可以立即处理请求并返回反馈,另一个可以收到请求并花费30秒时间返回反馈,您必须对状态进行轮询 移动应用程序还将轮询请求的状态 现在我的挑战是: 我正在考虑创建一个线程列表,比如100个线程,并

经过这么多的研究,我想我应该问问专家

我正在为我的公司雇主做一个项目,我们有android和iPhone移动应用程序,它们向web服务发出请求,请求被登录到挂起状态进行处理

windows服务检索挂起的请求,并为每个请求旋转一个新线程。这是因为请求可以定向到不同的提供者,这些提供者以不同的方式处理请求。一个可以立即处理请求并返回反馈,另一个可以收到请求并花费30秒时间返回反馈,您必须对状态进行轮询

移动应用程序还将轮询请求的状态

现在我的挑战是:

我正在考虑创建一个线程列表,比如100个线程,并分配每个线程执行一个请求,一旦完成,线程将被重新创建并分配一个新的请求。它是一个基于高响应的平台,因此我考虑不使用ThreadPool

是否建议在fire and forget序列中旋转新线程或管理这些线程列表?如果要管理,那么管理这些线程列表并确保C#中的高性能的最佳方法是什么?因为移动应用程序将轮询响应


就我所知,您的服务接收作业并旋转线程来处理该作业。这一切都很可爱,但如果您让您的服务将启动信息传递给终结点应用程序并启动流程,而不是线程,您将获得更大的灵活性和控制和调试东西的能力。@albertdadze您的问题可能会在@T.S上得到更好的回答。请您帮助澄清您所说的终结点是什么意思应用我正在考虑旋转参数化线程,让它从头到尾完成工作。该线程甚至可以在提供程序的服务器上进行轮询。@albertdadze端点应用程序是执行实际工作的应用程序。而不是线。比方说,你有20个线程在旋转,然后你的服务就停止了——你所有的线程都将保持未完成状态。但是,如果您将应用程序螺旋输出,即使服务关闭,它也会继续。每个应用程序都会运行它自己的进程,因此,您不需要执行任何线程管理,这一点都不有趣。此时,您的服务所需要做的就是使用正确的参数启动正确的应用程序。应用程序本身将负责进度、日志记录等工作。在StackExchange获得了适当的反馈。你也可以在