투케이2K

117. (python/파이썬) [Mac Os] : [threading] : 스레드 모듈 사용해 작업 수행 및 join 작업 완료 대기 본문

Python

117. (python/파이썬) [Mac Os] : [threading] : 스레드 모듈 사용해 작업 수행 및 join 작업 완료 대기

투케이2K 2024. 5. 13. 19:37

[개발 환경 설정]

개발 툴 : VsCode

개발 언어 : python

 

[소스 코드]

# --------------------------------------------------------------
# [import]
# --------------------------------------------------------------
import time
import threading
# --------------------------------------------------------------




# --------------------------------------------------------------
# [요약 설명]
# --------------------------------------------------------------
# 1. import time 은 파이썬에서 시간 관련 동작 기능을 사용할 수 있습니다
# --------------------------------------------------------------
# 2. import threading 은 파이썬에서 스레드 동작 기능을 사용할 수 있습니다
# --------------------------------------------------------------
# 3. time.sleep : 프로그램 실행을 주어진 시간 동안 지연 시킵니다
# --------------------------------------------------------------



# --------------------------------------------------------------
# [class start]
# --------------------------------------------------------------



# --------------------------------------------------------------
# [main start]
# --------------------------------------------------------------


# [초기 스레드 동작 함수 구현]
def goJob(count, delay):

    # [작업 수행 for 문 정의]
    for i in range(count):
        print("")
        print("----------------------------------------")
        print("[작업 수행] :: ", i)
        print("----------------------------------------")
        print("")

        # [sleep 대기]
        time.sleep(delay)


# [스레드 생성 및 동작 수행]
print("")
print("----------------------------------------")
print("[Start Thread]")
print("----------------------------------------")
print("")

go_thread = threading.Thread(target = goJob, args = (2, 1))
go_thread.start()


# [스레드 동작이 완료 될 때 까지 대기]
go_thread.join()


# [스레드 동작 완료 로그 출력]
print("")
print("----------------------------------------")
print("[End Thread]")
print("----------------------------------------")
print("")


# --------------------------------------------------------------
# [main end]
# --------------------------------------------------------------



# --------------------------------------------------------------
# [class end]
# --------------------------------------------------------------
 

[결과 출력]


반응형
Comments