Citește codul cu atenție
import asyncio
state = {"in_flight": 0, "peak": 0}
async def task(name, sem):
async with sem:
state["in_flight"] += 1
state["peak"] = max(state["peak"], state["in_flight"])
print(f"acquire:{name}:inflight={state['in_flight']}")
await asyncio.sleep(0)
await asyncio.sleep(0)
state["in_flight"] -= 1
print(f"release:{name}")
async def main():
sem = asyncio.Semaphore(2)
await asyncio.gather(*[task(c, sem) for c in "ABCDE"])
print(f"peak:{state['peak']}")
asyncio.run(main())
Ce va afișa programul? Scrie aici: