python에서 쓰레드를 사용해본적이 없어서 예제를 만들어서 해봤습니다.
각 쓰레드마다 출력과 sleep을 반복하여 쓰레드들이 잘 동작하는지 테스트하는 예제입니다.
import threading
import time
import random
class Thread_controll(threading.Thread):
def __init__(self, name, finish_n):
threading.Thread.__init__(self)
self.name = name
self.finish_n = finish_n
def run(self):
for i in range(self.finish_n):
print(self.name,' :', i)
time.sleep(random.random())
def rand(str_name, finish):
for i in range(finish):
print(str_name,' :', i)
time.sleep(random.random())
second_t = Thread_controll('second_thread', 15)
second_t.daemon = True
third_t = Thread_controll('third_thread', 12)
third_t.daemon = True
second_t.start()
third_t.start()
rand('main_thread', 5)
print('FINISH!!!')
데몬쓰레드로 지정해두어서 메인쓰레드가 작업이 종료되었을 때 서브쓰레드도 종료되도록 설정했습니다.
참고문헌
http://pythonstudy.xyz/python/article/24-%EC%93%B0%EB%A0%88%EB%93%9C-Thread
'Python' 카테고리의 다른 글
[androguard]code_item 추출하기 (0) | 2019.05.14 |
---|