Какой из следующих подходов наиболее эффективен для ограничения числа одновременных запросов к API с использованием `asyncio.Semaphore`?