본문 바로가기
반응형

파이썬 스레드3

[Python] 스레드 종료를 기다리기 위한 join 이해하기 스레드가 종료될 때까지 메인 프로그램을 대기시키기 위한 방법을 이해합니다.   목차 개발 의도import threadingimport timecount = 0def worker(): global count print("Worker thread is starting") for i in range(5): count += 1 time.sleep(1) print("Worker thread has finished")# 스레드 생성thread = threading.Thread(target=worker)# 스레드 시작thread.start()# count 값 출력print(count)# 출력값: Worker thread is starting / 0 / (5초 뒤) Wor.. 2024. 11. 16.
[Python] 메인 프로그램과 함께 종료되는 데몬 스레드 이해하기 메인 프로그램이 종료될 때, 스레드도 함께 종료하기 위한 방법을 이해합니다.    목차 개발 의도import threadingimport timedef worker(): print("스레드 시작") time.sleep(5) print("스레드 종료")# 스레드를 생성하고 데몬 설정 없이 실행thread = threading.Thread(target=worker)thread.start()print("메인 프로그램 종료")# 출력값: 스레드 시작 / 메인 프로그램 종료 / (5초 뒤) 스레드 종료- 위와 같이 스레드 동작이 완료되기 전에      메인 프로그램을 종료하는 코드를 작성합니다. - 최종 출력값은 "스레드 시작 / 메인 프로그램 종료"가 되며      "스레드 종료"는 출력되지 말.. 2024. 11. 15.
[Python] 하나의 변수에 여러 스레드가 접근하는 것을 막기 위한 Lock 이해하기 여러 스레드가 하나의 변수에 접근하여 수정할 때, 발생할 수 있는 상황을 이해합니다.      목차   개발 의도import threading# 공유 자원shared_variable = 0def increment(): global shared_variable for _ in range(100000): shared_variable += 1# 여러 스레드 생성threads = []for _ in range(10): t = threading.Thread(target=increment) threads.append(t) t.start()# 모든 스레드가 종료될 때까지 기다림for t in threads: t.join()print("최종 값:", shared_variab.. 2024. 11. 14.
반응형