GIL
- 파이썬 인터프리터가 한 스레드만 하나의 바이트코드를 실행하는 것
- 하나의 스레드에 모든 자원을 허용하고 나머지 스레드는 Lock을 검
- 파이썬의 모든 객체는 reference count를 갖고 있는데 멀티스레드에서 여러 스레드가 하나의 객체를 사용한다면 reference count를 관리하기 위해 모든 객체에 Lock을 걸어야하며 비효율 적이기 때문에 GIL을 사용하게 되었음
- 멀티스레드 회피를 위해 멀티프로세싱을 사용
'Python' 카테고리의 다른 글
[Python] 메모리 관리 (0) | 2021.03.18 |
---|---|
[Python]ABC(Abstract Base Class) (0) | 2021.03.11 |
[Python] django vs flask (0) | 2021.03.11 |
[Python] @staticmethod vs @classmethod (0) | 2021.03.04 |
[Python] is vs == (0) | 2021.03.01 |