>  기사  >  웹 프론트엔드  >  node.js의 기본 언어는 무엇입니까?

node.js의 기본 언어는 무엇입니까?

(*-*)浩
(*-*)浩원래의
2019-05-29 11:37:115203검색

node.js는 C++를 사용하여 개발되었습니다. JS 실행 플랫폼(실행 환경)입니다. 구문은 javascript이지만 차이점은 서버에서 실행된다는 점입니다. 증거: 노드의 소스 코드는 GitHub 웹 사이트에 있습니다. 프로젝트 루트 디렉터리의 src 폴더에 있는 .cc 접미사로 끝나는 많은 파일에는 클래스라는 단어가 있습니다(C++에는 클래스가 있지만 C에는 없습니다).

node.js의 기본 언어는 무엇입니까?

Node .js는 모든 사람을 위한 것이 아닙니다. 클라이언트 연결은 새 스레드를 생성하고 하나의 스레드만 사용합니다. 사용자가 연결하면 비차단 I/O 및 이벤트 기반 메커니즘을 통해 내부 이벤트가 트리거되며 Node.js 프로그램은 거시적으로 병렬입니다. Node.js를 사용하면 8GB 메모리를 갖춘 서버에서 동시에 40,000명 이상의 사용자 연결을 처리할 수 있습니다.

Node.js에서 사용되는 비차단 I/O 메커니즘으로 인해 데이터베이스에 액세스하는 코드가 실행된 후 그 뒤의 코드가 즉시 실행되고 데이터베이스 반환 결과에 대한 처리 코드가 콜백 함수를 사용하여 프로그램의 실행 효율성을 향상시킵니다.

I/O가 완료되면 I/O 작업을 수행하는 스레드에 이벤트 형태로 통보되고 스레드는 이 이벤트에 대한 콜백 함수를 실행합니다. 비동기 I/O를 처리하기 위해서는 스레드에 이벤트 루프가 있어야 하며, 처리되지 않은 이벤트가 있는지 지속적으로 확인하고 이를 차례로 처리해야 합니다.

노드에서는 클라이언트가 연결 설정, 데이터 제출 등을 요청하면 해당 이벤트가 트리거됩니다. Node에서는 한 번에 하나의 이벤트 콜백 함수만 실행할 수 있지만, 이벤트 콜백 함수를 실행하는 도중에 다른 이벤트(예: 신규 사용자 접속 등) 처리로 전환했다가 다시 돌아와 해당 이벤트를 계속 실행할 수 있습니다. 원래 이벤트 콜백 함수에서 이 처리 메커니즘을 "이벤트 루프" 메커니즘이라고 합니다.

Node.js의 맨 아래 레이어는 C++입니다(V8도 C++로 작성되었습니다). 기본 코드의 거의 절반이 이벤트 대기열 및 콜백 함수 대기열 구성에 사용됩니다. 이벤트 기반을 사용하여 서버 작업 일정을 완료하는 것은 천재만이 생각할 수 있는 일입니다. 실을 이용해 바늘끝에서 춤을 추는 것은 많은 일을 처리하는 임무를 맡는다.

Node.js는 어떤 종류의 애플리케이션 개발에 적합합니까?

I/O는 잘하는데 계산은 잘 못해요. Node.js는 작업 스케줄링에 가장 적합하기 때문에 비즈니스에 CPU 계산이 많이 포함된다면 실제로 이 계산이 단일 스레드를 차단한다는 의미이며 Node 개발에 적합하지 않습니다.

Node.js는 애플리케이션이 대량의 동시 I/O를 처리해야 하고 클라이언트에 응답을 보내기 전에 애플리케이션 내에서 매우 복잡한 처리가 필요하지 않은 경우에 매우 적합합니다. Node.js는 긴 연결을 통해 실시간 대화형 애플리케이션을 개발하기 위해 웹 소켓을 사용하는 데에도 매우 적합합니다.

Node.js는 언어이자 플랫폼인 PHP, JSP, Python, Perl, Ruby와 달리 프로그래밍에 JavaScript를 사용하고 JavaScript 엔진(V8)에서 실행됩니다.

위 내용은 node.js의 기본 언어는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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