기계는 거짓말하지 않는다

Python Thread 본문

Python

Python Thread

KillinTime 2022. 4. 23. 23:42

Python Thread의 간단한 예시

Critical Section에 대한 관리는 신중해야 함

import threading

def print_num(thread_name: str):
    for i in range(3):
        print(f"{thread_name}: {i}")
        
for i in range(3):
    t = threading.Thread(target=print_num, args={f"Thread_{i}"})
    t.start()

for j in range(5):
    print(f"Main: {j}")

Thread가 종료되기를 기다리려면 join 함수를 호출하고, join(10)과 같이 타임아웃을 설정할 수 있다.

타임아웃을 설정하면 이후 is_alive 함수를 호출하여 타임아웃 초과를 판단해야 한다.

 

참고: Python docs. 파이썬 스레드 기반 병렬 처리

 

threading — 스레드 기반 병렬 처리 — Python 3.10.4 문서

threading — 스레드 기반 병렬 처리 소스 코드: Lib/threading.py 이 모듈은 저수준 _thread 모듈 위에 고수준 스레딩 인터페이스를 구축합니다. queue 모듈도 참조하십시오. 버전 3.7에서 변경: 이 모듈은

docs.python.org

Comments