>웹 프론트엔드 >JS 튜토리얼 >Node.js의 특징에 대한 자세한 설명

Node.js의 특징에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-02-04 10:14:251272검색

Node.js는 Chrome v8 엔진을 기반으로 하는 Java 실행 플랫폼으로, 빠른 응답 속도와 쉬운 확장성을 갖춘 웹 애플리케이션을 구축하는 데 사용됩니다. 이 글은 Node.js를 배우는 모든 사람에게 도움이 되기를 바랍니다.

비동기 I/O

자세히 설명하자면

비동기란 무엇을 의미하나요?

예를 들어 오늘 아버지가 전화를 하신다고 하셨습니다. 요리, 빨래, 바닥 청소, 물 끓이기 등 일련의 일을 하십시오. 따라서 한 가지 일을 하나씩 끝내야 다음 일로 넘어갈 수 있습니다. 예를 들어 물을 끓인 뒤 바닥을 쓸고 요리를 한 뒤 다른 일을 할 수도 있다. 그런 다음 이 프로세스를 동기화 프로세스라고 부릅니다. 한 가지 일을 하면 기다려야 하고, 기다린 후에 다른 일을 해야 합니다. 따라서 이때 시간을 합리적으로 조정하는 방법을 안다면 이렇게 할 수 있습니다. 물을 끓일 때 바닥을 쓸 수 있습니다. 끓는 물을 지킬 필요가 없기 때문입니다! 물을 넣거나 불을 붙이기만 하면 됩니다. 그럼 우리는 다른 일을 하러 갈 수 있어요. 예를 들어, 바닥 청소나 빨래 같은 일련의 일을 할 수 있습니다. 그래서 똑같은 일을 하고 나면, 우리가 소비해야 하는 시간이 다릅니다. 후자의 방법을 사용하면 시간이 덜 걸리고 더 효율적일 수 있습니다. 이전 동기화 방법을 사용하면 효율성이 더욱 낮아집니다. 따라서 우리는 후자를 비동기 작업이라고 부릅니다.

이벤트 및 콜백

비동기적으로 작업을 수행하면 매우 효율적이지만 동시에 한 가지 작업만 수행할 수 있습니다. 예를 들어 물을 끓일 때 그 자리에 머물 필요는 없습니다. 하지만 바닥을 쓸고 나면 물이 언제 끓는지 어떻게 알 수 있나요? (이렇게 하고 나면 어떻게 알 수 있죠?)

생각해보면 주전자 위에 작은 스피커를 올려 놓고 물이 끓으면 수증기가 나고, 수증기가 불어나면 됩니다. 경적을 사용하면 모든 일이 끝났고 물이 끓고 있으며 물이 끓은 후에도 계속해서 일을 할 수 있다는 것을 알게 될 것입니다.

이 이벤트와 콜백은 물이 끓은 후 이벤트 형태로 알려줍니다. (제가 이렇게 해놨으니 물을 채워주시면 됩니다.)

콜백이 무슨 뜻인가요?

이벤트가 발생하면 알려줍니다. 그러면 물을 채우는 과정(즉, 이 과정을 처리하는 것)이 됩니다. 물 끓인 후 결과 처리

단일 스레드

이것이 node.js의 주요 기능입니다. 효율적인 백그라운드 애플리케이션(네트워크 애플리케이션)을 개발할 수 있습니다.

싱글 스레드란 무엇입니까

아직 예제를 사용하고 있습니다. 당신의 아버지는 당신에게 많은 일을 하라고 요구합니다. 당신이 시간을 적절하게 정리하는 방법을 모른다면 동기화만 사용할 수 있습니다. 그러면 동기화할 때 다음과 같이 생각할 수도 있습니다. (두세 명의 친구에게 전화하십시오). 한 명은 물 끓이는 걸 도와주고, 한 명은 바닥 청소하는 걸 도와주고, 한 명은 요리하는 걸 도와줘요. 이렇게 하면 여러 사람이 동시에 작업을 도와줄 것입니다. (이러한 작업을 다중 스레드 작업이라고 합니다. 즉, 여러 사람이 동시에 작업을 수행합니다.)

멀티 스레드 작업에는 단점이 있습니다. 즉, 이 친구들에게 도움을 요청해야 한다는 것입니다. , 당신은 그들에게 보상을 해야 합니다. 그러면 당신은 확실히 용돈을 쓸 것이고, 보상을 위해 맛있는 것을 사야 합니다. 그렇다면 돈을 쓰고 싶지 않지만 일을 끝내고 싶다면 어떻게 해야 할까요? 방금 수행한 비동기 방식으로만 수행할 수 있습니다. 즉, 혼자서 수행할 수 있습니다. 효율성을 높이려면 어떻게 해야 할까요? 이 일을 할 때 동시에 다른 일도 하고 싶으면 이것이 하나의 스레드(즉, 한 사람이 하는 일)입니다.

크로스 플랫폼

현재 우리 node.js는 Mac 시스템, Windows 및 Linux에서 실행될 수 있으며 이에 상응하는 운영 환경을 개발했습니다.

위 내용은 이 글의 전체 내용입니다. 이 글의 내용이 모든 분들의 공부나 업무에 조금이나마 도움이 되었으면 좋겠습니다. 저도 PHP 중국어 사이트에 지원하고 싶습니다!

Node.js의 기능과 관련 글에 대한 더 자세한 설명은 PHP 중국어 홈페이지를 주목해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.