GIL(Global Interpreter Lock)이란
In CPython, the global interpreter lock, or GIL, is a mutex that protects access to Python objects, preventing multiple threads from executing Python bytecodes at once. This lock is necessary mainly because CPython's memory management is not thread-safe.
deadlock이란
race condition이란
thread는 자기가 속한 process 내에 shared memory에 접근할 수가 있는데,
다수의 thread가 shared memory에 동시에 접근할 수도 있다.
이 때 다수의 thread가 동시에 한 변수에 각자의 작업을 한 것이,
각 thread가 작업한 것이 타 thread에 반영이 즉각 이루어 지지 않을 수가 있다. 이 현상을 race condition이라 한다.
즉, 다수 thread가 특정 값을 동시에 접근하여 변경하는 것을 가리킴
thread-safe란
race condition을 방지하며 thread가 작동함
mutex(mutual exclusion)란
참고자료:
dgkim5360.tistory.com/entry/understanding-the-global-interpreter-lock-of-cpython
timewizhan.tistory.com/entry/Global-Interpreter-Lock-GIL
'CS' 카테고리의 다른 글
[Pandas]dataframe의 row를 shuffle하기 (0) | 2020.11.10 |
---|---|
(미완)[SQL]기본 쿼리 예제 모음 (0) | 2020.11.07 |
[Database]RDBMS(Relational DataBase Management System)란 무엇인가? (0) | 2020.11.03 |
[Python] __slots__ 사용에 대해 (0) | 2020.11.02 |
[Python]Iterable VS Iterator (feat Generator) 정의에서 대조까지 (0) | 2020.11.02 |