Python 심화18 - 스레딩threading

do yeon kim·2022년 6월 8일
0

Python(심화)_fastcampus

목록 보기
18/24

파이썬 threading모듈

import threading

#스레드에서 실행할 함수
def work():
    print("[sub] start")
    keyword = input("검색어 입력>>>")
    print(keyword)

#메인스레드 실행되는 부분
print("[main] start")

#threading이라는 모듈에 Thread라는 클래스로 객체를 만든다.
worker = threading.Thread(target=work)

#worker.daemon = True #메인스레드가 종료될때 서브스레드도 같이 종료된다.
worker.start()

print("[main] 메인스레드")
print("[main] end")


[main] start
[sub] start
[main] 메인스레드
[main] end
검색어 입력>>>안녕 
안녕



#worker.daemon = True 
주석해제시 메인스레드가 종료되면 서브스레드도 종료된다.
[main] start
[sub] start[main] 메인스레드

[main] end
검색어 입력>>>

파이썬 threading모듈

import threading
import time

def buyer():
    for i in range(5):
        print("[매수] 데이터 요청중")
        time.sleep(1)
        print("[매수] 데이터 요청중")
        time.sleep(1)
        print("[매수] 매수 타이밍?")
        time.sleep(1)
        print("[매수] 매수")
        time.sleep(1)

def saler():
    for i in range(5):
        print("[매도] 데이터 요청중")
        time.sleep(1)
        print("[매도] 데이터 요청중")
        time.sleep(1)
        print("[매도] 매도 타이밍???????????")
        time.sleep(1)
        print("[매도] 매도하자")
        time.sleep(1)

print("[메인] start")

buyer = threading.Thread(target=buyer)
saler = threading.Thread(target=saler)

buyer.start()
saler.start()

#메인스레드가 종료되는 시점을 서브스레드가 종료될 때까지 기다리는 코드
buyer.join()
saler.join()
print("[메인] 종료되었습니다.")


동시성처리 추가학습필요하다.


https://fastcampus.co.kr/dev_online_pyweb

0개의 댓글