Python에서 스레드 시작
Fumbani Banda
2024년2월15일
이 튜토리얼은 파이썬에서 스레드를 생성하고 시작하기 위한 threading
모듈을 소개합니다.
스레드 정의
스레드는 실행해야 하는 작업의 집합입니다. 스레드를 실행한다는 것은 프로그램이 한 번에 두 개 이상의 항목을 실행한다는 것을 의미합니다. 스레드는 CPU의 한 코어에서만 실행할 수 있습니다. 스레딩은 하나의 CPU 코어에서 스레드를 처리하는 방법에 관한 것입니다.
파이썬에서 스레드 구현
Python은 threading
모듈을 사용하여 프로그램에서 스레드를 구현합니다. Thread
인스턴스를 만든 다음 이를 호출하여 별도의 스레드를 시작할 수 있습니다.
Thread
인스턴스를 생성할 때 함수와 해당 함수에 대한 인수 목록을 전달합니다. 이 경우, thread_function()
함수를 실행하고 인수로 1을 전달하도록 Thread
에 지시합니다.
thread_function()
은 일부 메시지를 기록하고 2초 동안 휴면합니다.
# python 3.x
from threading import Thread
import time
import logging
def thread_function(name):
logging.info("Thread %s: starting", name)
time.sleep(2)
logging.info("Thread %s: finishing", name)
if __name__ == "__main__":
format = "%(asctime)s: %(message)s"
logging.basicConfig(format=format, level=logging.INFO, datefmt="%H:%M:%S")
thread = Thread(target=thread_function, args=(1,))
thread.start()
logging.info("Exiting")
출력:
10:23:58: Thread 1: starting
10:23:58: Exiting
10:24:00: Thread 1: finishing
스레딩 시각화
프로그램의 흐름은 아래와 같습니다. start()
를 호출하면 thread_function()
이 트리거되고 별도의 스레드에서 실행됩니다. 메인 프로그램은 또한 다른 스레드로 병렬로 실행됩니다.
작가: Fumbani Banda