Node/노드 기능

스레드풀과 커스텀 이벤트

webmaster 2022. 9. 4. 23:20
728x90

스레드풀

  • fs, crypto, zlib 모듈의 메서드를 실행할 때는 백그라운드에서 동시에 실행됨
  • 스레드풀을 직접 컨트롤할 수는 없지만 개수 조절은 가능
    • 맥, 리눅스라면 UV_THREADPOOL_SIZE=개수
    • 윈도우라면 터미널에 SET UV_THREADPOOL_SIZE=개수

이벤트 

events 모듈로 커스텀 이벤트를 만들 수 있음

  • 스트림에 쓰였던 on(‘data’), on(‘end’) 등과 비교
  • on(이벤트명, 콜백): 이벤트 이름과 이벤트 발생 시의 콜백을 연결해줍니다. 이렇게 연결하는 동작을 이벤트 리스닝이라고 부릅니다. event2처럼 이벤트 하나에 이벤트 여러 개를 달아줄 수도 있습니다.
  • addListener(이벤트명, 콜백): on과 기능이 같습니다.
  • emit(이벤트명): 이벤트를 호출하는 메서드입니다. 이벤트 이름을 인자로 넣어주면 미리 등록해뒀던 이벤트 콜백이 실행됩니다.
  • once(이벤트명, 콜백): 한 번만 실행되는 이벤트입니다. myEvent.emit('event3')을 두 번 연속 호출했지만 콜백이 한 번만 실행됩니다.
  • removeAllListeners(이벤트명): 이벤트에 연결된 모든 이벤트 리스너를 제거합니다. event4가 호출되기 전에 리스너를 제거했으므로 event4의 콜백은 호출되지 않습니다.
  • removeListener(이벤트명, 리스너): 이벤트에 연결된 리스너를 하나씩 제거합니다. 역시 event5의 콜백도 호출되지 않습니다.
  • off(이벤트명, 콜백): 노드 10 버전에서 추가된 메서드로, removeListener와 기능이 같습니다.
  • listenerCount(이벤트명): 현재 리스너가 몇 개 연결되어 있는지 확인합니다.
728x90

'Node > 노드 기능' 카테고리의 다른 글

예외 처리하기  (0) 2022.09.04
pipe와 스트림 메모리 효율 확인  (0) 2022.09.04
버퍼와 스트림 이해하기  (0) 2022.09.04
파일 시스템 사용하기  (0) 2022.09.04
child_process  (0) 2022.07.24