这将是一个不好的解释,但是我不知道该怎么措辞,所以请露给我。我有一个功能:
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。