import logging
import threading
import time
# 스레드 실행 함수
def thread_func(name):
logging.info("Sub-Thread %s: starting", name)
time.sleep(3)
logging.info("Sub-Thread %s: finished", name)
# 메인 영역
if __name__ == "__main__":
# 메인 스레드의 흐름을 타는 시작점.
# Logging format 설정
format = "%(asctime)s : %(message)s"
logging.basicConfig(format=format, level=logging.INFO, datefmt="%H:%M:%S")
logging.info("Main-Thread: before creating thread")
# 함수 인자 확인, 스레드 하나 생성, 타겟 : 스레드에서 만들 함수
x = threading.Thread(target=thread_func, args=('First',))
logging.info("Main-Thread: before running thread")
# 서브 스레드 시작
x.start()
# x.join() # 이게 있으면 메인은 스탑되고 서브 스레드 끝나고 나서 밑에 실행
logging.info("Main-Thread: wait for the thread to finish")
logging.info("Main-Thread: all done")