참고: 생활코딩, 파이썬과 함께하는 자료구조의 이해
동기 처리와 비동기 처리
동기 처리(Synchronous) - 순서대로 처리 |
비동기 처리(Asynchronous) - 동적으로 처리하여 응답에 초점을 맞춤 |
|
기본개념(비유) | 100명에게 이메일을 보내면 1 ~ 100까지 순서대로 메일 발송 |
100명에게 이메일을 한꺼번에 발송하여 발송 순서에 상관없이 메일 발송에 대한 응답만 받음 |
속도 | 프로세스가 순서대로 하나씩 처리하여 속도가 빠르다. |
프로세스 컨텍스트 스위칭이 자주 발생하기 때문에 비교적 느리다 |
N번째 코드의 데이터가 많을 경우 | 만약 N번째 작업이 오래 걸릴 경우 브라우저가 멈춰 있는 것처럼 보인다. |
처리되는 코드들은 백그라운드에서 계속 작업하며 클라이언트에게 서서히 보여지기 때문에 멈춰있는 것처럼 보이진 않는다. |
구글링도 해보고 유투브 영상도 찾아봤는데 웹 서비스에서는 비동기 처리 방식으로 데이터를 핸들링한다고 한다.
아마 컴퓨터 사양이 과거에 비해 비약적으로 좋아졌기 때문이기도 하고 일반적으로 핸들링하는 데이터의 크기가 커도 감당할 수준이기 떄문이지 싶다.
추가(2018-12-25)
네이버TV 에서 { TOP100 // 추천재생목록 // 테마별 인기영상 } 등의 카테고리가 있는데 각각 서버에서 클라이언트로 보내주는 코드는 분리되어 동작할 것이다.
스터디카페의 인터넷이 느린 덕분(?)에 알게 된.....그러나 정확하진 않지만 개념은 맞는 것 같다.
TOP100 의 동영상 클립들은 이미지까지 모두 Response 되었지만
최신 테마별 인기영상의 중간 중간 몇개의 동영상 클립은 뒤늦게 Response 가 완료되는 것을 보았다.
비동기 처리로 코드를 구현하게 되면 유저의 이탈 확률이 적어지는 것도 하나의 장점이 아닐까 싶다.
'기초지식 > 컴퓨터 공학' 카테고리의 다른 글
CPU 와 메모리의 관계 (0) | 2019.04.15 |
---|---|
내가 이해한 DNS (0) | 2019.02.23 |
factorial 에 대해서 이해해보기 (0) | 2018.12.28 |
32비트 컴퓨터가 16GB 의 메모리까지만 허용하는 이유 (0) | 2018.12.24 |