这将是一个糟糕的解释,但我不知道还能用什么语言来表达,所以请耐心等待。 我有一个功能:
async def request():
# this can only be called n times at once
但正如它所说,它一次只能被调用 n 次。是否可以有某种对象数量有限的池,这样我就可以做到这一点:
async def request():
await with poolOfOneHundred.acquire():
# do something
然后Python将获取其中的100个,然后一旦到达第101个,它将在await with语句处等待,直到另一个request()函数完成,然后池中的一个锁将被释放。
这是一件事吗?如果没有,我该如何实现这样的事情?
这有意义吗?
最佳答案
您正在寻找asyncio.Semaphore .
这是an example如何使用它。
关于python - 当超过 100 个异步函数运行时锁定异步函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59811985/