투케이2K

116. (python/파이썬) [Mac Os] : [threading] : 스레드 모듈 사용해 멀티 스레드 작업 수행 본문

Python

116. (python/파이썬) [Mac Os] : [threading] : 스레드 모듈 사용해 멀티 스레드 작업 수행

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

[개발 환경 설정]

개발 툴 : VsCode

개발 언어 : python

 

[소스 코드]

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




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



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



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


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

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

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


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

threads = [] # [스레드 작업 배열]

for i in range(3):
    t = threading.Thread(target = goJob, args = (2, 1, i))  # [스레드 생성]
    threads.append(t) # [스레드 추가]

for t in threads:
    t.start()  # [스레드 실행]


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



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

[결과 출력]


반응형
Comments