반응형
Python에서 코드 실행을 지연시키는 방법은 여러 가지가 있습니다. 주로 time
모듈의 sleep
함수를 사용하여 간단하게 딜레이를 구현할 수 있습니다. 아래는 Python에서 딜레이를 구현하는 다양한 방법입니다.
1. time.sleep()
사용
가장 기본적이고 간단한 방법으로, 특정 시간만큼 코드를 일시 중지시킬 수 있습니다.
import time
# 5초 동안 딜레이
time.sleep(5)
- 위 코드는 5초 동안 프로그램의 실행을 멈춥니다.
2. threading
모듈과 함께 사용
멀티스레딩 환경에서 특정 스레드만 딜레이 시키고 싶을 때 time.sleep()
을 사용할 수 있습니다. 이 방법은 다른 스레드가 중단 없이 실행될 수 있게 합니다.
import time
import threading
def print_message():
print("3초 후에 메시지가 출력됩니다.")
time.sleep(3)
print("메시지 출력!")
# 스레드 생성
thread = threading.Thread(target=print_message)
thread.start()
3. asyncio
를 사용한 비동기 딜레이
비동기 프로그램에서 딜레이를 사용하는 경우, asyncio
모듈의 await asyncio.sleep()
을 사용합니다.
import asyncio
async def delayed_print():
print("2초 후 출력됩니다.")
await asyncio.sleep(2)
print("출력 완료!")
# 비동기 실행
asyncio.run(delayed_print())
- 이 방법은 비동기 함수 안에서 딜레이를 처리하며, 다른 비동기 작업들이 실행될 수 있도록 합니다.
4. 루프를 이용한 딜레이 (비추천)
루프를 돌려 일정 시간을 기다리는 방법도 있지만, CPU 자원을 많이 소모하므로 비효율적입니다.
import time
start_time = time.time()
# 3초 동안 대기
while time.time() - start_time < 3:
pass
print("3초가 지났습니다.")
- 이 방법은 CPU를 계속 사용하며 딜레이를 처리하기 때문에 권장되지 않습니다.
요약
- 가장 많이 사용되는 방법은
time.sleep()
입니다. - 비동기 프로그램에서는
asyncio.sleep()
을 사용합니다. - 멀티스레드에서는
threading
과 함께time.sleep()
을 사용하여 특정 스레드만 딜레이할 수 있습니다.
필요에 맞는 딜레이 방법을 선택하면 됩니다.
반응형
'언어 > Python' 카테고리의 다른 글
[ Python ] SQLAlchemy + SQLite - 데이터 베이스 연결하기 (0) | 2024.10.09 |
---|---|
[ Python ] cached_property - 값을 재사용 하기 (1) | 2024.10.09 |
[ Python ] -menv 가상 환경을 사용하는 이유 - 개념 (1) | 2024.09.30 |
[ Python ] numpy 설치하기 (0) | 2024.09.07 |
[ Python ] venv 가상환경으로 편리하게 사용하기 (1) | 2024.09.07 |