0

我在互联网上搜索过这个,但我想了解实现我的任务的可能方法。我想做的是在我的 C# 应用程序中调用 REST 服务来获取一些数据。我已经使用任务同时调用正在调用服务的函数。现在该服务不允许我在一秒钟内调用它超过 5 次,因为它负担过重。我想通过我的函数调用该服务 5 次。不多也不少。如何控制异步调用的数量?我知道这可能是需要研究的基于理论的问题,但我只是在询问可能性和方向。

4

1 回答 1

1

从算法的角度...

想象一个可以容纳 x 个令牌的桶……每个时间帧 y 你都填满桶,所以它可以容纳 x 个令牌。现在您可以有许多工作人员来处理您对服务的请求......在工作人员可以访问服务之前,它必须从存储桶中获取令牌......在给定时间只有一个工作人员可以访问存储桶,一个没有令牌的工人排队等候直到它可以得到一个......如果你的桶仍然包含令牌,当你重新装满它时,你的工人太少了......如果你有超过 z% 的工人在等待你重新装满桶,你可以摆脱一些......

于 2013-06-13T21:34:54.737 回答