C# 每分钟运行多少次异步方法

C# 每分钟运行多少次异步方法,c#,asp.net,wcf,web-services,C#,Asp.net,Wcf,Web Services,从这个链接开始,我将在几天内开发一个异步方法 现在,如果我想知道我的方法在一分钟内运行了多少次,我应该怎么做 例如,在20分钟内完成25000笔交易。等等 感谢实现这一点最简单的方法是拥有一个计数器,异步方法每次运行时都会更新该计数器(注意锁定等)。然后你所需要做的就是记录你的开始时间,并随时比较这两个时间 开始时间=11:56 开始运行异步任务。。。 11:57检查,计数器=23表示它在一分钟内运行了23次 您可以在一分钟后、一小时后或任何时候查看。当然还有其他方法,但这将是最简单的 这

从这个链接开始,我将在几天内开发一个异步方法

现在,如果我想知道我的方法在一分钟内运行了多少次,我应该怎么做

例如,在20分钟内完成25000笔交易。等等


感谢

实现这一点最简单的方法是拥有一个计数器,异步方法每次运行时都会更新该计数器(注意锁定等)。然后你所需要做的就是记录你的开始时间,并随时比较这两个时间

开始时间=11:56 开始运行异步任务。。。 11:57检查,计数器=23表示它在一分钟内运行了23次


您可以在一分钟后、一小时后或任何时候查看。当然还有其他方法,但这将是最简单的

这是无法回答的;它将取决于:机器规格、方法的大小/持续时间、有多少核、一次执行多少并发并行操作、方法是IO限制、CPU限制还是时间限制、同步策略、机器上的其他负载等,一个简单的测试表明,在一个虚拟化、超线程的i7上,每个虚拟内核每秒可以获得32288
BeginInvoke
。但实际上,执行更少的异步操作更好,每个异步操作都会产生更多的工作量-更少的开销。@Marc Gravell我想问的是,我们是如何发现每分钟运行多少次的方法想要检查性能的,换句话说,如果我们定义一个静态变量或其他任何东西,告诉我们异步方法每分钟执行多少次。我认为这是应该负责的。