티스토리 뷰
<요약>
GIL은 한번에 하나의 스레드만 수행할 수 있게 인터프리터에 락(Lock)을 거는 것.
이로 인해 파이썬 인터프리터 구현의 편의성, 개발의 편의성이 생겼다.
GIL을 피하기 위해서 Multiprocessing 모듈을 이용하면 된다.
파이썬의 GIL은 한번에 하나의 스레드만 동작 할 수 있도록
파이썬 인터프리터에 락이 걸리는 것이다.
이로 인해서 스레드를 이용하여 프로그램을 구현하여 동시에 여러가지 작업을 진행하여도,
한번에 하나의 작업만 돌게 되어서 실제로는 작업시간이 더 늘어나는 결과를 가져온다.
이렇게 구현이 된이유는 다음과 같다.
- 공유자원에 대한 처리를 간단하게 하기 위해서
- GC를 만들기 편하기 때문에
- C/C++ 확장 모듈 개발의 편리성
다음의 두개의 자료를 읽어보면 더욱 확실하게 이해할 수 있을 것이다.
반응형
'python' 카테고리의 다른 글
[python] [bs4] BeautifulSoup([your markup]) 경고 수정하기 (0) | 2017.12.10 |
---|---|
[python] multiprocessing 을 이용한 스레드 처리 (0) | 2017.12.07 |
[python] 문자열을 효율적으로 concat 하는 방법 (0) | 2017.02.22 |
[python] range, xrange 함수 사용법 (1) | 2017.02.22 |
[python][error] 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UX 오류 수정 (0) | 2017.01.23 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Linux
- 백준
- bash
- 오류
- HIVE
- 하이브
- mysql
- SPARK
- Python
- error
- java
- airflow
- 파이썬
- 알고리즘
- 하둡
- 다이나믹
- SQL
- build
- 정올
- nodejs
- S3
- HDFS
- Tez
- Hadoop
- AWS
- yarn
- hbase
- ubuntu
- emr
- oozie
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함