일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Django
- FastAPI
- 자바스크립트
- docker
- elasticsearch
- terraform
- WSGI
- YAML
- 안드로이드
- AWS
- event loop
- github
- EC2
- Service
- dockerfile
- leetcode
- IAC
- Python
- Deployment
- IAM
- ebs
- ansible
- Kubernetes
- intervals
- asyncio
- K8S
- asgi
- POD
- EKS
- s3
- Today
- Total
목록Future (2)
궁금한게 많은 개발자 노트
Future Object 퓨처 객체는 어떠한 작업의 실행 상태 및 결과를 저장하는 객체입니다. 실행 상태란 해당 작업이 진행 중인지(PENDING), 취소되었는지(CANCELLED), 종료되었는지(FINISHED)를 나타냅니다. 작업의 완료라 함은 CANCELLED 또는 FINISHED 상태를 가리킵니다. 그리고 실행 결과라 함은 해당 작업의 결과 값 혹은 그 작업을 진행하면서 발생한 예외 객체를 말합니다. 예외가 발생한 경우에도 상태는 FINISHED가 됨을 주의해야 합니다. 중요한 점으로는 작업의 실행 상태 및 결과를 나타낼 뿐, 작업의 실행을 개시하지 않는다는 점입니다. 퓨처 객체의 중요한 메소드 중하나는 add_done_callback()입니다. 이 메소드를 호출하면 해당 퓨처 객체가 완료될 떄 ..
파이썬 제약 : GIL Python은 두 개 이상의 스레드가 동시에 실행될 때 두 개 이상의 스레드가 하나의 자원을 동시에 액세스할 때 발생할 수 있는 문제점을 방지하기 위해 GIL(Global interpreter lock)이라는 것을 도입했습니다. 즉, 스레드가 실행될 때, 프로그램 내의 리소스 전체에 락이 걸립니다. 결국 Python 구현에서는 동시에 몇 개의 스레드가 실행이 되던 간에 GIL에 의해서 한 번에 하나의 스레드만 실행됩니다. 멀티 스레드의 경우 문맥교환(Context Switch)에 필요한 리소스까지 고려하면 단일 스레드보다 성능이 떨어지게 되는 것을 확인할 수 있습니다. 기존에는 python에서 동시성 처리를 위해 threading과 multiprocessing을 사용했지만 3.2v..