본문 바로가기

전체 글92

[Python] GIL(Global Interpreter Lock) 파이썬에는 GIL(Global Interpreter Lock)이라는 특수한 개념이 존재하고 있다. 위의 사진에서 보는 것처럼 프로세스를 작업할 때 CPU의 한 개 쓰레드에 객체 접근 권한과 가용 자원을 전부 할당하고 타 쓰레드에서는 접근을 하지 못하도록 Lock(Mutex)을 하는 것이다. 왜 파이썬에 GIL이 존재하는가? GIL의 존재 이유를 알아보기 앞서 파이썬의 메모리 관리 체계를 알아 볼 필요가 있다. 파이썬은 OOP 기반으로 파이썬 내에는 객체들이 존재하고 이들은 별도로 참조 횟수(Reference Count)를 저장하고 있다. 메모리에 저장된 객체를 직접 삭제하는게 아니라면 보통 참조 횟수를 이용하여 참조 횟수가 0이 되었을 때 파이썬 내부의 GC(Garbage Collector)가 메모리에 .. 2022. 10. 15.
[Python] 파이썬이란 '비단뱀'이라는 어원을 가지고 있는 파이썬은 C 언어를 기반으로 만들어진 인터프리터 방식의 고급 프로그래밍 언어(High level language)이다. * 인터프리터(Interpreter) : 프로그램을 한 단계씩 기계어로 해석하여 실행하는 방식 * 고급 프로그래밍 언어 : 인간이 이해하기 쉽게 만들어 프로그래밍하기 편리하게 만들어진 언어 Features : 직관적이고 이해도가 높아 학습에 용이 내장된 라이브러리가 많아 편리 인터프리터 방식을 기반으로 동작하여 속도가 느림 OOP(Object-oriented programming) Code : print("Hello World!") 2022. 10. 13.