개념)
파이썬 프로그램은 하나의 쓰레드에서 실행된다.
파이썬에서 프로그램을 병렬로 실행하기 위해서는 subthread를 생성해야하는데,
파이썬에서 쓰레드를 생성하기 위해서는 threading 모듈(high level) 또는 thread 모듈(low level)을 사용할 수 있다.
파이썬은 전역 인터프리터 락킹 때문에 특정 시점에서 하나의 파이썬 코드만을 실행하게 되는데,
이때문에 파이썬은 실제 다중 cpu 환경에서 동시에 여러 파이썬 코드를 병렬로 실행 할 수 없으며 인터리빙 방식으로 코드를 분할하여 실행한다. 다중 cpu 에서 병렬 실행을 위해서는 다중 프로세스를 이용하는 multiprocessing 모듈을 사용한다.
* 전역 인터프리터 락킹
* 인터리빙 방식
사용법)
import threading
def add(a, b):
return a+b
r = Threading.Thread(target=add, args=(1,2))
r.start()
* args
Thread의 매개변수들.
데몬 쓰레드)
개념)
백그라운드에서 실행되는 쓰레드.
메인 쓰레드가 종료되면 자동으로 같이 종료된다.
참조:http://pythonstudy.xyz/python/article/24-%EC%93%B0%EB%A0%88%EB%93%9C-Thread