본문 바로가기
개발자 일기/일일회고 (TIL)

[원티드 프리온보딩 9월]1회차 회고

by MS_developer 2024. 9. 7.

원티드에서 진행하는 프리온보딩에 신청하여 오늘 첫 회차를 진행했다.

이번에는 이벤트 루프에 대한 주제로 이야기를 나눠보는데, 프론트엔드 개발자로서 잘 숙지하고 있어야 할 개념이라고 생각해 시작 전부터 매우 기대됐다. 

 

그리고, 1회차 강의인데도 매우 유익한 시간이었다.

 

1회차기 때문에 기본적인 개념들을 다뤘지만, 그만큼 정확히 알고 설명할 수 있어야하기 때문에 공부가 많이 되었다.

 

 

이제 이런 너디한 조크도 만들 수 있게 됐다.


오늘의 학습내용

  • 이벤트 루프의 정의
  • 동기 Synchronous 와 비동기 Asynchronous 
  • 블로킹 Blocking 과 논블로킹 Non-Blocking
  • 동기/비동기 와 블로킹/논블로킹 차이점
  • Program, Process, Thread 의 정의
  • 병렬성 Parallelism 과 동시성 Concurrency
  • 싱글스레드 Single Thread 와 멀티스레드 Multi Thread

어려웠던 keyword / 활용한 질문

Q. setTimeout 함수는 동기/비동기, 블로킹/논블로킹 함수 중 어디에 해당된다고 생각하시나요?

 

A. 자바스크립트 내장 함수 setTimeout은 비동기 함수이자 논블로킹 함수라고 생각합니다. setTimeout 함수의 동작 방식을 살펴보았을 때 함수가 실행되었을 때 완료 여부와 상관없이 계속 진행이 되기 때문에 비동기 함수로 볼 수 있습니다. 또한 작업을 진행했을 때 메인 함수를 블락하지 않고 백그라운드에서 별도 처리하여 진행하기 때문에 논블로킹 함수로 볼 수도 있습니다. 

 

Q. 싱글 스레드는 병렬성을 보장할 수 있나요?

 

A. 싱글 스레드는 병렬성을 보장할 수 없습니다. 왜냐하면 병렬성은 "동시에" 작업을 진행해야하는데, 싱글 스레드는 작업을 처리하기 위한 스레드가 하나만 있기 때문입니다.

 

댓글