- Book 파이썬답게 코딩하기 - 철학과 개념
- Book 파이썬답게 코딩하기 - 기본 문법
- Book 파이썬답게 코딩하기 - 동시성과 병렬성
- Book 파이썬답게 코딩하기 - Multiprocessing
- Book 파이썬답게 코딩하기 - 동시성
- Book 파이썬답게 코딩하기 - Coroutine
- Book 파이썬답게 코딩하기 - concurrent.futures
- Book 파이썬답게 코딩하기 - Asyncio
- Book 파이썬답게 코딩하기 - 그 밖의 파이썬 모듈
그 밖의 파이썬 모듈
Greenlet
경량화 된 코루틴 라이브러리다.마이크로스레드(Micro-thread)
기반으로 강제적인 스케줄링이 없는 코루틴
을 만든 것이다.
이 라이브러리를 이용한 gevent
와 eventlet
이라는 모듈이 대표적이다.
pip3 install greenlet
# basic_greenlet.py
# greenlet module
Enter the work1 function
Enter the work2 function
Exit the work1 function
pip3 install gevent
# basic_gevent.py
# gevent module
[1] Enter the work function
[2] Enter the work function
[3] Enter the work function
[4] Enter the work function
[5] Enter the work function
[6] Enter the work function
[7] Enter the work function
[8] Enter the work function
[9] Enter the work function
[5] Exit the work function
[9] Exit the work function
[3] Exit the work function
[7] Exit the work function
[8] Exit the work function
[0] Exit the work function
[2] Exit the work function
[4] Exit the work function
[1] Exit the work function
[6] Exit the work function
greenlet
, gevent
는 스레드 기반의 코드에서 만들어졌기 때문에 API이름이 스레드 느낌이 난다.gevent
는 몽키패치라고 해서 운영 중에 코드를 수정할 수도 있지만 장단점이 있다.
Twisted
이벤트 중심(event-driven)
네트워킹 엔진이다.
내부적으로 네트워킹에 관한 라이브러리를 가지고 있지만 쉽게 웹 서버를 구착하기 위한 프레임워크다.
내부적으로 비동기 로직으로 구현 처리한다.Python 2
에서 사용할 수 있고 방식도 비교적 간단하다.
Tornado
twisted
와 같은 파이썬 웹 프레임워크중 하나다.
빠른 응답성을 위해서 사용하고, 비동기 네트워크 라이브러리도 지원한다.Asyncio
모듈이 자리잡기 전까지 tornado
, twisted
를 많이 사용 했다.
PP
Parallel Python
의 약자로 비동기적으로 처리되지 않지만 병렬성을 활용해 작업 효율을 높여주는 라이브러리다.
하지만 SMP
기반의 컴퓨터와 이 컴퓨터를 클러스터링
한 환경에서만 동작한다.
현재 사용하는 PC가 SMP
기반이고, 클러스터는 가상 머신
으로 구축하면 테스트 가능하다.
반응형
'lang > py' 카테고리의 다른 글
Book 파이썬답게 코딩하기 - Asyncio (0) | 2020.01.23 |
---|---|
Book 파이썬답게 코딩하기 - concurrent.futures (0) | 2020.01.21 |
Book 파이썬답게 코딩하기 - Coroutine (0) | 2020.01.20 |
Book 파이썬답게 코딩하기 - 동시성 (0) | 2020.01.16 |
Book 파이썬답게 코딩하기 - Multiprocessing (0) | 2020.01.14 |