thread란?
- 프로세스 : 프로그램이 메모리에 올라가서 실행 중인 것
- 스레드는 프로세스의 실행 단위
- 프로세스는 최소 하나 이상의 스레드를 가진다.
thread 모듈
파이썬은 1개의 메인 스레드만 존재한다.
- 멀티 스레드를 이용하려면 threading 모듈을 사용해야 한다.
- 멀티 스레드 : 하나의 프로세스 안에 스레드가 여러개이다.
- 스레드를 사용하면 두 가지 이상의 함수를 동시에 동작시킬 수 있다.
멀티 스레드를 사용하면, 스레드 간 데이터 공유 복잡도가 증가한다.
그래서 락과 데드락에도 신경을 써야한다.
- 락 : 자원에 대한 접근을 제한하는 메커니즘
- 데드락 : 서로 간의 락이 묶여 있음