동시성은 싱글 코어에서 멀티 쓰레드를 동작시키기 위한 방식이다.
멀티 쓰레드란 멀티 태스킹을 위해 여러 개의 쓰레드가 번갈아가면서 실행되는 성질을 말한다.
동시성을 이용한 싱글 코어의 멀티 태스킹은
각 쓰레드들이 병렬적으로 실행되는 것처럼 보이지만
사실은 번갈아가면서 조금씩 실행되고 있는 것이다.
즉 동시에 실행되는 것처럼 보이는 것이다.
독립적으로 실행하는 프로세스들을 구성한다.
한 번에 여러 개를 다루는 것과 관련있다.
1명이 5개의 작업을 빠른 시간에 이것 저것 실행한다.
I/O Bound
ex) 마우스, 키보드, 디스플레이, 디스크
일반적으로 Blocking은 Sync와 관련이 있고
Non-Blocking은 Async와 관련이 있다고 알고있다.
맞는 개념이다.
해쉬 테이블은 Key에 Value를 저장하는 데이터 구조이다.
function(Key) = Value
Key값으로 Value를 찾는데 O(1)시간에 작동한다.
HTTP는 Hypertext Transfer Protocol의 약자로 인터넷상에서 데이터를 주고받기 위한 프로토콜이다.
데이터는 오디오 / 비디오 / 이미지 / 텍스트 등 어떠한 데이터의 종류를 가리지 않는다.
모두 HTTP 프로토콜을 이용해 전달하고 전달 받을 수 있다.
브라우저는 HTTP 통신을 통해서 사이트 문서를 가져오고 이를 해석해 화면에 출력하게 된다.