English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python 기본 강의

Python 흐름 제어

Python 함수

Python 데이터 타입

Python 파일操作

Python 객체와 클래스

Python 날짜와 시간

Python 고급 지식

Python 참조 매뉴얼

Python sleep()

sleep() 함수가 있으며, 이 함수는 지정된 초 동안 현재 스레드의 실행을 대기(지연)시킵니다.

Python에는time모듈은 시간 관련 작업을 처리하는 데 유용한 기능을 제공합니다. 중요한 함수 중 하나는 sleep()입니다.

sleep() 함수는 현재 스레드의 실행을 주어진 초 수만큼 중지합니다.

예제1:Python sleep()

import time
print("즉시 출력")
time.sleep(2.4)
print("2.4초 후 ")"을 출력합니다

이 프로그램의 작동 방식은 다음과 같습니다:

  • "즉시 출력"이 출력됩니다

  • 실행을 일시 중지(지연)합니다2.4초 후.

  • 출력을 출력합니다"2.4초 후 " ."을 출력합니다.

위 예제에서는 sleep()이 부호 실수로 파라미터로 사용되고 있습니다.

Python에서 3.5전,실제로는 time() 함수에 지정된 파라미터보다 적은 시간이 일시 중지될 수 있습니다.

Python에서 3.5시작,지정된 초보다 적은 시간 동안 일시 중지됩니다.

예제2:Python의 시계

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)

Python의 다중 스레드

sleep()多线程程序를 논의하기 전에, 프로세스와 스레드에 대해 이야기해 보겠습니다.

컴퓨터 프로그램은 명령의 집합입니다. 프로세스는 이 명령의 실행입니다.

스레드는 프로세스의 부분입니다. 하나의 프로세스는 하나 이상의 스레드를 가질 수 있습니다.

예제3:파이썬 다중 스레드

이 문서 상의 모든 프로그램은 단일 스레드 프로그램입니다. 이는 다중 스레드 파이썬 프로그램의 예제입니다.

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

위의 프로그램에는 두 개의 스레드가 있습니다t1t2이 스레드는 t를 사용하여1.start()와 t2.start() 문장이 실행됩니다.

주의하세요:t1t2동시에 실행되면, 다른 출력을 얻을 수 있습니다.

다중 스레드 프로그램의 time.sleep()

sleep() 함수는 현재 스레드의 실행을 주어진 초 수만큼 중지합니다.

단일 스레드 프로그램에서는, sleep()는 스레드와 프로세스의 실행을 중지합니다. 하지만, 이 함수는 다중 스레드 프로그램에서는 전체 프로세스 대신 스레드만을 대기시킵니다.

예제4:다중 스레드 프로그램의 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초.