
asyncio를 사용하여 병렬 처리를 하려면, await 키워드를 사용하여 비동기 함수의 결과를 기다리지 않아도 됩니다.
await 키워드는 비동기 함수를 호출하여 결과를 기다리게 하지만, asyncio.run() 함수는 비동기 함수를 호출하고 결과를 기다리지 않습니다.
따라서, asyncio.run(main()) 함수를 호출하면 main() 함수의 결과를 기다리지 않고 다음 코드를 실행할 수 있습니다.
task1, task2가 동시에 실행되는지 확인하려면, asyncio.gather() 함수를 사용하여 task1, task2를 함께 호출하고, asyncio.run() 함수를 호출하여 결과를 기다립니다.
다음은 예시 코드입니다.
#hostingforum.kr
python
import asyncio
async def func1():
print("func1 시작")
await asyncio.sleep(2)
print("func1 종료")
async def main():
tasks = [func1(), func1()]
await asyncio.gather(*tasks)
asyncio.run(main())
이 코드를 실행하면, task1, task2가 동시에 실행되고, 결과를 기다리지 않고 다음 코드를 실행할 수 있습니다.
또한, asyncio.gather() 함수를 사용하여 task1, task2를 함께 호출하여 동시 실행 여부를 확인할 수 있습니다.
asyncio.gather() 함수는 여러 비동기 함수를 함께 호출하고, 결과를 기다리며, 결과를 리스트 형태로 반환합니다.
따라서, asyncio.gather() 함수를 사용하여 task1, task2를 함께 호출하고, asyncio.run() 함수를 호출하여 결과를 기다리면, task1, task2가 동시에 실행되는지 확인할 수 있습니다.
2025-07-11 18:43