1. Thread 활용 기본 예시

# vim threading_ex.py

import threading
import time

def long_task():
    for i in range(5):
        time.sleep(1)
        print('Working : ' + str(i))

print('Start')

threads_list = list()

for i in range(5):
    t = threading.Thread(target=long_task)
    threads_list.append(t)

for each_thread in threads_list:
        each_thread.start()

for each_thread in threads_list:
    each_thread.join()

print('End')

 한 번의 실행당 1초 sleep 5번으로 약 5초가 걸리는 long_task 함수를 여러차례 실행하는 소스입니다.

Thread를 활용하지 않을 경우, 5 x 5 = 25초 이상 소요되는데

Thread를 활용할 경우, 동시에 5개의 long_task가 실행되다보니 시간이 크게 단축된 것을 눈으로 확인할 수 있습니다.

 

 

 

+ Recent posts