일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스칼라 강좌
- 엔터프라이즈 블록체인
- 파이썬 머신러닝
- 이더리움
- Akka
- 플레이프레임워크
- Actor
- akka 강좌
- CORDA
- 스칼라 동시성
- 주키퍼
- 파이썬 데이터분석
- 하이브리드앱
- 파이썬 동시성
- Play2 로 웹 개발
- 스위프트
- Adapter 패턴
- play 강좌
- 그라파나
- 스칼라
- play2 강좌
- 블록체인
- 안드로이드 웹뷰
- 하이퍼레저 패브릭
- Golang
- hyperledger fabric
- Play2
- 파이썬 강좌
- Hyperledger fabric gossip protocol
- 파이썬
- Today
- Total
목록Python (37)
HAMA 블로그
파이썬과 동시성 *본 글은 대략 동시성 프로그래밍에 대해서 알고 있는데 파이썬은 시작 단계이며 어떤것들이 있는지 빠르게 훑어보고 싶은 분들을 위해 눈높이가 맞추어져 있음을 알려드립니다. 기본 쓰레드에서부터 시작해서 전반적으로 살펴볼 것 이나 버전별 차이는 다루지 않고 있습니다. 해당 키워드에 대한 버전별 구분 및 세부적인 튜토리얼은 구글링을 통해 찾아보시길 바랍니다. (참고 링크는 추가해두었습니다) 리액티브 및 동시성이라는 화두가 파도치고 있는 요즘 파이썬도 뒤떨어 질 수는 없겠지요? 데이터분석이나 쉘스크립팅의 대안정도로만 생각했던 분들도 계실것이지만 파이썬도 다양한 기술들을 제공하며 서버개발의 메인 언어로서 그 대열에 함께 하고 있습니다. 개인적으로는 동시성에 대한 추상층 api 지원에 있어서 파이썬은..
연재순서1. threading2. Condition & Semaphore3. Queue4. multiprocessing5. 비동기 (gevent) 6. 분산 (celery)7. GPGPU (PyCUDA) 8. concurrent.future9. 코루틴,asyncio,async/awit 제네레이터,코루틴,네이티브 코루틴과 ASYNC/AWAIT [번역] 참고 : 이 게시물은 주로 Python 3.4 에서 소개 된 기능에 대해 설명하며, 네이티브 코루틴과 async / await 구문은 Python 3.5에서 제공됩니다. 따라서 파이썬 3.5 이상을 사용하여 코드를 시험해 보는 것이 좋을 것 입니다. 제네레이터 제네레이터는 말그래도 값을 생성하는 함수입니다. 알다시피 함수는 값을 반환한 다음 자신의 스코프를 ..
연재 순서 1. threading2. Condition & Semaphore3. Queue4. multiprocessing5. 비동기 (gevent) 6. 분산 (celery)7. GPGPU (PyCUDA)8. 코루틴,asyncio,async/awit9. concurrent.future CONCURRENT.FUTURES 모듈 퀵 가이드 [번역] concurrent.futures 모듈은 비동기 작업을 시작하기 위한 높은 수준의 API를 제공하는 표준 라이브러리의 일부입니다. 이 모듈의 일반적인 사용법에 대한 코드 샘플을 살펴 보겠습니다. Executors이 모듈은 추상클래스인 Executor 클래스를 제공하며, 직접 사용할 수는 없으며 대신 ThreadPoolExecutor와 ProcessPoolExecu..
연재 순서 1. threading 2. Condition & Semaphore 3. Queue 4. multiprocessing 5. 비동기 (gevent) 6. 분산 (celery) 7. GPGPU (PyCUDA) 8. 코루틴,asyncio,async/awit 9. concurrent.future PyCUDA 설치 ( 우분투 14.04 에 PyCUDA 설치) 1. CUDA 가 제대로 인스톨 되있는지 확인 합니다.나는 우분투 14.04에 CUDA 7.5 로 설치하였다. 우분투에 CUDA 설치 관련은 여기 참고 2. gcc4.8.4Ubuntu 14.04의 경우 기본 gcc 버전은 4.8이기 때문에 아래와 같이 따로 업그레이드등을 할 필요가 없다.As of the CUDA 4.1 release, gcc 4...
연재 순서 1. threading 2. Condition & Semaphore 3. Queue 4. multiprocessing 5. 비동기 (gevent) 6. 분산 (celery) 7. GPGPU (PyCUDA) 8. 코루틴,asyncio,async/awit 9. concurrent.future 6.celeryhttp://celery.readthedocs.io/en/latest/getting-started/first-steps-with-celery.htmlhttps://spoqa.github.io/2012/05/29/distribute-task-with-celery.html
연재 순서 1. threading 2. Condition & Semaphore 3. Queue 4. multiprocessing 5. 비동기 (gevent) 6. 분산 (celery) 7. GPGPU (PyCUDA) 8. 코루틴,asyncio,async/awiat 9. concurrent.future 5. gevent Welcome to cooperative scheduling최신 IO 시스템 (asyncio) 과 마찬가지로, gevent는 스케줄링 개념으로 작동합니다. 이것은 이전과 같은 몽키패치 덕분에 코드에서 거의 숨겨질 수있는 방식으로 promise 와 같은 시스템 (비동기 요청이 완료된 후에 수행해야 할 일들을 요구)으로 수행 할 수 있습니다. 스케줄러는 greenlet 컨텍스트를 신속하고 빈번..
연재 순서 1. threading 2. Condition & Semaphore 3. Queue 4. multiprocessing 5. 비동기 (gevent) 6. 분산 (celery) 7. GPGPU (PyCUDA) 8. 코루틴,asyncio,async/awiat 9. concurrent.future4. Multiprocessing멀티 프로세싱 모듈은 Python 버전 2.6에 추가되었습니다. 원래 버전은 Jesse Noller와 Richard Oudkerk에 의해 PEP 371에서 정의되었었습니다. multiprocessing 모듈을 사용하면 스레딩 모듈로 스레드를 생성 할 수있는 것과 동일한 방식으로 프로세스를 생성 할 수 있습니다. 여기서 주요 포인트는 프로세스를 생성하기 때문에 GIL (Globa..
연재 순서 1. threading 2. Condition & Semaphore 3. Queue 4. multiprocessing 5. 비동기 (gevent) 6. 분산 (celery) 7. GPGPU (PyCUDA) 8. 코루틴,asyncio,async/awiat 9. concurrent.future 3. Queue다음 예 에서는 생산자-소비자 패턴의 가장 중요한 큐를 다룰 것이다. 생산자가 아이템을 큐에 넣어주면 소비자들은 그것을 가져와서 사용하는데 , 그것들 사이의 동기화는 Queue 에서 모두 해결해준다. 즉 더이상 생산자가 task 를 추가할 수 없으면 put 에서 대기를 하게되고, 소비자가 더 이상 가져올 task 가 없으면 get 에서 기다리게 된다.import threading import ..
연재 순서 1. threading 2. Condition & Semaphore 3. Queue 4. multiprocessing 5. 비동기 (gevent) 6. 분산 (celery) 7. GPGPU (PyCUDA) 8. 코루틴,asyncio,async/awiat 9. concurrent.future 2. Condition파이썬의 Condidtion 은 쉽게 생각하면 Event + Mutex 쯤으로 보면된다. 다음예를보면 소비자 쓰레드들은 Condition 이 set 이 되길 기다리고 있다. 생산자 쓰레드는 이 Condition을 set 해줘서 다른 쓰레드들에게 진행해도 좋다고 고지한다. 기다리고 있던 쓰레드 모두가 통과할 수 는 없고 상호 배제되어 하나씩 통과된다 . import threading im..
연재 순서 1. threading 2. Condition & Semaphore 3. Queue 4. multiprocessing 5. 비동기 (gevent) 6. 분산 (celery) 7. GPGPU (PyCUDA) 8. 코루틴,asyncio,async/awiat 9. concurrent.future1. 쓰레드 파이썬에서의 쓰레드는 보통 Thread 혹은 Threading 모듈을 사용할 수 있다. 또한 Queue 모듈을 통해서 생산자-소비자 패턴을 구현한다. 여러가지 이유로 Thread 보다는 Threading 모듈을 사용하길 추천한다.따라서 이 글에서는 Threading 과 Queue 에 대해서 알아본다.daemon 파이썬에서 thread 는 기본적으로 daemon 속성이 False 인데, 메인 쓰레드..