Это будет плохое объяснение, но я не знаю, как еще это сказать, так что потерпите меня, пожалуйста. У меня есть одна функция:
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-го будет ждать в ожидании с оператором до завершения другой функции request (), тогда одна блокировка в пуле будет свободна.
Это вещь? Если нет, то как я могу реализовать что-то подобное?
Имеет ли это какой-то смысл?