Python에서 스레드 시작

Fumbani Banda 2024년2월15일
  1. 스레드 정의
  2. 파이썬에서 스레드 구현
  3. 스레딩 시각화
Python에서 스레드 시작

이 튜토리얼은 파이썬에서 스레드를 생성하고 시작하기 위한 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 avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

관련 문장 - Python Thread