English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
sleep() 함수가 있으며, 이 함수는 지정된 초 동안 현재 스레드의 실행을 대기(지연)시킵니다.
Python에는time모듈은 시간 관련 작업을 처리하는 데 유용한 기능을 제공합니다. 중요한 함수 중 하나는 sleep()입니다.
sleep() 함수는 현재 스레드의 실행을 주어진 초 수만큼 중지합니다.
import time print("즉시 출력") time.sleep(2.4) print("2.4초 후 ")"을 출력합니다
이 프로그램의 작동 방식은 다음과 같습니다:
"즉시 출력"이 출력됩니다
실행을 일시 중지(지연)합니다2.4초 후.
출력을 출력합니다"2.4초 후 " ."을 출력합니다.
위 예제에서는 sleep()이 부호 실수로 파라미터로 사용되고 있습니다.
Python에서 3.5전,실제로는 time() 함수에 지정된 파라미터보다 적은 시간이 일시 중지될 수 있습니다.
Python에서 3.5시작,지정된 초보다 적은 시간 동안 일시 중지됩니다.
import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result) time.sleep(1)
위 프로그램에서는 무한while 루프의 현재 로컬 시간1초. 또한, 현재의 로컬 시간을 계산하고 출력합니다. 이 과정은 계속 진행됩니다.
프로그램을 실행하면, 출력은 다음과 같이 될 수 있습니다:
02:10:50 PM 02:10:51 PM 02:10:52 PM 02:10:53 PM 02:10:54 PM ... .. ...
이 프로그램의 약간의 개선된 버전입니다.
import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result, end="", flush=True) print("\r", end="", flush=True) time.sleep(1)
sleep()多线程程序를 논의하기 전에, 프로세스와 스레드에 대해 이야기해 보겠습니다.
컴퓨터 프로그램은 명령의 집합입니다. 프로세스는 이 명령의 실행입니다.
스레드는 프로세스의 부분입니다. 하나의 프로세스는 하나 이상의 스레드를 가질 수 있습니다.
이 문서 상의 모든 프로그램은 단일 스레드 프로그램입니다. 이는 다중 스레드 파이썬 프로그램의 예제입니다.
import threading def print_hello_three_times(): for i in range(3) print("Hello") def print_hi_three_times(): for i in range(3) print("Hi") t1 = threading.Thread(target=print_hello_three_times) t2 = threading.Thread(target=print_hi_three_times) t1.start() t2.start()
프로그램을 실행하면, 출력은 다음과 같이 될 수 있습니다:
Hello Hello Hi Hello Hi Hi
위의 프로그램에는 두 개의 스레드가 있습니다t1와t2이 스레드는 t를 사용하여1.start()와 t2.start() 문장이 실행됩니다.
주의하세요:t1와t2동시에 실행되면, 다른 출력을 얻을 수 있습니다.
sleep() 함수는 현재 스레드의 실행을 주어진 초 수만큼 중지합니다.
단일 스레드 프로그램에서는, sleep()는 스레드와 프로세스의 실행을 중지합니다. 하지만, 이 함수는 다중 스레드 프로그램에서는 전체 프로세스 대신 스레드만을 대기시킵니다.
import threading import time def print_hello(): for i in range(4) time.sleep(0.5) print("Hello") def print_hi(): for i in range(4) time.sleep(0.7) print("Hi") t1 = threading.Thread(target=print_hello) t2 = threading.Thread(target=print_hi) t1.start() t2.start()
위의 프로그램에는 두 개의 스레드가 있습니다. 우리는 이 두 개의 스레드 time.sleep(0.5) 그리고 time.sleep(0.75) 그 중지된 실행 시간은 0.5초와 0.7초.