相关疑难解决方法(0)

拥有一组一次只运行X的任务

假设我有100个任务需要10秒钟.现在我想一次只运行10个,就像10个中的1个完成另一个任务一样,直到完成所有任务.

现在我总是习惯于ThreadPool.QueueUserWorkItem()这样的任务,但我已经读到这样做是不好的做法,我应该使用任务.

我的问题是我没有找到适合我的方案的好例子,所以你能让我开始研究如何通过Tasks实现这个目标吗?

c# multithreading task

27
推荐指数
5
解决办法
1万
查看次数

限制asp .net中的异步任务,限制N个成功任务

我正在使用Asp .Net 4.5.1.我有运行任务,调用Web服务,有些可能会失败.我需要运行N个成功的任务,这些任务执行一些轻微的CPU工作,主要是调用Web服务,然后停止,我想要限制.

例如,假设我们在某个集合中有300个URL.我们需要运行一个调用Task<bool> CheckUrlAsync(url)每个函数的函数,带有限制,这意味着,例如,"同时"只运行5次(换句话说,在任何给定时间最多使用5个连接).此外,我们只想执行N(假设100)成功操作,然后停止.

我读过这个这个,我仍然不知道什么是做了正确的道路.

你会怎么做?

  1. 假设ASP .Net
  2. 假设IO调用(http调用web serice),没有繁重的CPU操作.

c# asp.net asynchronous

4
推荐指数
1
解决办法
1290
查看次数

标签 统计

c# ×2

asp.net ×1

asynchronous ×1

multithreading ×1

task ×1