이전에 나는 this answer.이라는 질문에 응답했다. 내가 게시 한 예제에서, bcrypt 노드 모듈에서 동기식 버전의 호출을 사용했다. 동기식 버전의 호출을 주로 사용하기로 결정했는데 응답 성을 좀 더 깔끔하게 보일 것으로 생각했기 때문에 bcrypt가 I/O 경계 대신 CPU 및 메모리를 많이 사용하기 때문에 성능에 영향을 미치지 않을 것이라고 생각했습니다. 브라우저가하는 것처럼 노드가 거의 모든 코드를 단일 스레드에서 실행하고 I/O 및 데이터베이스 액세스와 같은 용도로만 백그라운드 스레드를 사용한다는 사실을 알고있었습니다. 이것은 CPU 부하가 많은 작업이 서버를 "차단"한다는 사실을 알게 해주었습니다. 작업 부하를 줄이려는 다른 스레드가 없었기 때문입니다.node.js의 비동기 프로그래밍으로 CPU 바인딩 작업 속도가 빨라 집니까?
내 대답에 대한 의견은 제 가정이 잘못되었다는 것을 나타내며, 일부 연구를 통해 node.js가 이런 종류의 문제를 처리하는 방법에 대해 실제로 이해하지 못했다는 사실을 깨달았습니다. node.js의 비동기 프로그래밍으로 인해 CPU 및 메모리 사용량이 증가합니까? 그렇다면 어떻게 작동합니까?
"node.js의 비동기 프로그래밍으로 인해 CPU 및 메모리 사용량이 증가합니까?" --- 그것은 그것이하는 것처럼 가장합니다. 모래 시계처럼 OS를 빠르게 볼 수 있습니다. – zerkms