버
버즈빌
March 30, 20221회
asyncio 뽀개기 1 - Coroutine과 Eventloop

간단 소개
asyncio의 Eventloop과 코루틴 개념 설명 및 이를 활용한 동시성 구현 방법을 제시하고, Future 객체의 역할 강조.
AI Summary
- Eventloop과 코루틴의 중요성
- Eventloop은 Python asyncio에서 핵심 컴포넌트이며, 코루틴은 기본 실행 단위이다.
- async, await 기본 예제 이해를 전제로, 가상 요구사항을 코드로 구현하며 설명한다.
- 요구사항 및 구현
- 10초마다 Job 생성, 각 Job은 랜덤 시간 소요, 이전 Job 수행 시간과 무관하게 생성, Job들은 concurrent하게 실행되어야 한다.
- **asyncio.create_task()**는 코루틴을 Eventloop에 등록하고 Future 객체를 반환한다. await 없이 사용하여 실행권을 유지하고 다음 iteration을 진행한다.
- 코루틴과 동시성
- 코루틴은 언제든 실행권을 반환할 수 있으며, Eventloop은 코루틴들을 번갈아 실행하여 동시성을 달성한다.
- Eventloop은 비선점형이므로 코루틴이 await이나 return을 통해 실행권을 반환해야 다른 코루틴이 실행될 수 있다.
Next Feeds
![[여의도 43층 사람들] Android 팀에게 무엇이든 물어보세요!](https://blog.banksalad.com/static/e4fe3f38edbfe31f330dfead010c0f3c/cover.png)
[여의도 43층 사람들] Android 팀에게 무엇이든 물어보세요!
뱅크샐러드 Android 팀의 개발 문화, 기술 스택, 인재상에 대한 Q&A를 통해 팀의 특징과 추구하는 가치를 소개합니다.
Android뱅크샐러드개발 문화Clean Architecture인재상
2022. 3. 30.
뱅크샐러드

DynamoDB를 사용하는 Go 서비스의 응답 시간 최적화 #2 TLS Handshake
Go 서비스에서 DynamoDB 사용 시 TLS Handshake로 인한 응답 시간 지연 문제 분석 및 해결 시도, Go HTTP 커넥션 풀과 DynamoDB에 대한 이해를 높임.
DynamoDBGoTLS Handshake응답 시간커넥션 풀
2022. 3. 29.
버즈빌

세상을 늦게 보기 위해 잃었던 것들
Libplanet 개발 중 블록체인 확정으로 인한 메모리 누수 문제 해결 과정과 작업 기반 증명 환경에서의 개선 방안을 제시합니다.
블록체인확정Libplanet렌더러메모리 누수
2022. 3. 29.
플라네타리움
웹 워커를 통해 이미지 색상 수집기 성능 개선하기
웹 워커를 사용하여 이미지 색상 수집기의 성능을 개선하고 메인 스레드 블로킹 이슈를 해결하는 방법을 제시합니다.
웹 워커CanvasImageData성능 개선메인 스레드 블로킹
2022. 3. 24.
카카오엔터테인먼트FE
웹 워커를 통해 이미지 색상 수집기 성능 개선하기
웹 워커를 사용하여 이미지 색상 수집기의 성능을 개선하고 메인 스레드 블로킹 이슈를 해결하는 방법을 제시합니다.
웹 워커CanvasImageData성능 개선메인 스레드 블로킹
2022. 3. 24.
카카오엔터테인먼트FE
![[여의도 43층 사람들] iOS팀에게 무엇이든 물어보세요!](https://blog.banksalad.com/static/367f170e462631d50b934fc63d348c1c/cover.png)
[여의도 43층 사람들] iOS팀에게 무엇이든 물어보세요!
뱅크샐러드 iOS팀의 개발 문화, 업무 방식, 기술 스택, 그리고 추구하는 인재상을 Q&A 형식으로 소개합니다.
iOS뱅크샐러드개발문화테스트BPL
2022. 3. 23.
뱅크샐러드