[파이썬] 스레드 생성과 스레드 종료

스레드(Thread)는 동시에 여러 작업을 수행하게 해주는 프로그래밍 개념입니다. 파이썬에서 스레드를 생성하고 종료하는 방법을 알아보겠습니다.

1. 스레드 생성

파이썬에서는 threading 모듈을 사용하여 스레드를 생성할 수 있습니다. 아래의 예제 코드를 통해 스레드를 생성하는 방법을 알아보겠습니다.

import threading

# 실행할 함수 정의
def my_function():
    for i in range(5):
        print("스레드 실행 중")

# 스레드 생성
my_thread = threading.Thread(target=my_function)

# 스레드 실행
my_thread.start()

위 코드는 my_function 함수를 스레드로 실행하는 예제입니다. threading.Thread 클래스의 target 매개변수에 실행할 함수를 전달하여 스레드를 생성합니다. 그리고 start 메소드를 호출하여 스레드를 실행합니다.

2. 스레드 종료

스레드를 종료하는 방법은 스레드의 작업이 완료되면 자동으로 종료되는 것이 일반적입니다. 하지만 특정 조건에 따라 스레드를 강제로 종료해야 하는 경우가 있을 수 있습니다. 아래의 예제 코드를 통해 스레드를 종료하는 방법을 알아보겠습니다.

import threading
import time

# 실행할 함수 정의
def my_function():
    while not stop_flag:
        print("스레드 실행 중")
        time.sleep(1)

# 스레드 생성
stop_flag = False
my_thread = threading.Thread(target=my_function)

# 스레드 실행
my_thread.start()

# 일정 시간 후에 스레드 종료
time.sleep(5)
stop_flag = True
my_thread.join()

위 코드에서는 stop_flag라는 변수를 사용하여 스레드를 종료시키는 예제입니다. 스레드의 작업 중간에 while 문을 통해 stop_flag 값이 True가 되면 반복문이 종료됩니다. 그리고 my_thread.join() 메소드를 호출하여 스레드의 종료를 기다립니다.

결론

파이썬에서는 threading 모듈을 사용하여 스레드를 생성하고 종료할 수 있습니다. 스레드를 생성하고 실행하는 방법을 익히고, 특정 조건에 따라 스레드를 종료하는 방법을 숙지하는 것은 멀티스레딩 프로그래밍의 기본 개념입니다.