正在运行100个以上时锁定asyncio函数?

问题描述 投票:1回答:1

这将是一个不好的解释,但是我不知道该怎么措辞,所以请露给我。我有一个功能:

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()函数完成,然后该池中的一个锁将是免费的。

这是东西吗?如果没有,我该如何实现这样的目标?

这有意义吗?

python python-asyncio
1个回答
0
投票

您正在寻找asyncio.Semaphore

这里是如何使用它的an example

© www.soinside.com 2019 - 2024. All rights reserved.