원티드에서 진행하는 프리온보딩에 신청하여 오늘 첫 회차를 진행했다.
이번에는 이벤트 루프에 대한 주제로 이야기를 나눠보는데, 프론트엔드 개발자로서 잘 숙지하고 있어야 할 개념이라고 생각해 시작 전부터 매우 기대됐다.
그리고, 1회차 강의인데도 매우 유익한 시간이었다.
1회차기 때문에 기본적인 개념들을 다뤘지만, 그만큼 정확히 알고 설명할 수 있어야하기 때문에 공부가 많이 되었다.
이제 이런 너디한 조크도 만들 수 있게 됐다.
오늘의 학습내용
- 이벤트 루프의 정의
- 동기 Synchronous 와 비동기 Asynchronous
- 블로킹 Blocking 과 논블로킹 Non-Blocking
- 동기/비동기 와 블로킹/논블로킹 차이점
- Program, Process, Thread 의 정의
- 병렬성 Parallelism 과 동시성 Concurrency
- 싱글스레드 Single Thread 와 멀티스레드 Multi Thread
어려웠던 keyword / 활용한 질문
Q. setTimeout 함수는 동기/비동기, 블로킹/논블로킹 함수 중 어디에 해당된다고 생각하시나요?
A. 자바스크립트 내장 함수 setTimeout은 비동기 함수이자 논블로킹 함수라고 생각합니다. setTimeout 함수의 동작 방식을 살펴보았을 때 함수가 실행되었을 때 완료 여부와 상관없이 계속 진행이 되기 때문에 비동기 함수로 볼 수 있습니다. 또한 작업을 진행했을 때 메인 함수를 블락하지 않고 백그라운드에서 별도 처리하여 진행하기 때문에 논블로킹 함수로 볼 수도 있습니다.
Q. 싱글 스레드는 병렬성을 보장할 수 있나요?
A. 싱글 스레드는 병렬성을 보장할 수 없습니다. 왜냐하면 병렬성은 "동시에" 작업을 진행해야하는데, 싱글 스레드는 작업을 처리하기 위한 스레드가 하나만 있기 때문입니다.
'개발자 일기 > 일일회고 (TIL)' 카테고리의 다른 글
[원티드 프리온보딩 9월]3회차 회고 (1) | 2024.09.16 |
---|---|
[원티드 프리온보딩 9월]2회차 회고 (4) | 2024.09.08 |
Main_Project 회고 (0) | 2023.05.23 |
Pre_Project 회고 (0) | 2023.02.09 |
부트캠프 81, 82일차 (Pre-Project 시작) (0) | 2022.12.18 |
댓글