동기 2

파이썬 코루틴 활용

웹사이트 데이터 가져오기 1. session을 통해 url에 접속한다 2. request.get을 통해 데이터를 가져온다 3. session을 닫고 걸린 시간을 측정한다 * session을 간편하게 닫기 위해 with문을 사용했다. with문을 사용하면 with 블록을 벗어나는 순간 자동으로 close되어 편리하다. 4. 일반 코드와 코루틴 코드의 결과를 비교해본다 일반 코드의 경우(동기) >>> 15.04025387763977 초 ''' 동기로 코드를 작성할 경우 15.04025387763977 초 소요 ''' import requests import time def fetcher(session, url): with session.get(url) as response: return response.te..

동기 vs 비동기

동기란? 코드가 반드시 작성된 순서로 실행된다 요청 후 응답을 받지 못하면 바운드 상태를 유지한다 이전 요청에 대한 응답을 받아야만 다음 코드를 진행하므로 연산이 느려진다 예) 주문 받은 순서대로 처리한다. 앞선 주문이 완료되지 않으면 다음 주문으로 넘어가지 않는다 비동기란? 코드가 반드시 작성된 순서로 실행되는 것이 아니다 요청 후 응답을 받지 못해도 바운드 없이 다음 코드를 수행한다 이전 요청에 대한 응답을 기다리지 않으므로 동기보다 더 빠르게 연산이 가능하다 예) 주문을 수행하지만 완료되지 않아도 다음 주문을 진행한다 무조건 비동기가 좋을까? 단순한 계산은 비동기로 구현할 경우 코드가 복잡해지고 유지보수가 어려워질 수 있다 다음 단계로 넘어가면 안되는 계산이라면 동기로 구현하자 동기 비동기 비교를 ..