Node.js의 차단을 이해하시나요?

Node Jsui Chadan Eul Ihaehasinayo



차단 또는 동기 코드는 현재 실행 중인 프로세스가 컴파일될 때까지 모든 예정된 프로세스 또는 실행 중인 프로세스의 실행을 중지하거나 중지하는 코드입니다. 이러한 유형의 코드는 실행되는 프로세스가 서로 종속되지 않을 때 주로 활용됩니다. 간단히 말해서, 첫 번째 방법의 출력이 두 번째 방법의 값으로 제공되어서는 안 됩니다.

이 가이드에서는 Node.js의 Blocking에 대해 설명합니다.

Node.js의 차단을 이해하시나요?

Node.js의 차단을 이해하려면 “ FS ” 모듈은 프로젝트 요구사항에 따라 활용될 수 있습니다. Node.js에서 “라는 키워드를 포함하는 모든 메소드는 동조 ' 좋다 ' 읽기파일동기화() ', ' 이름 바꾸기동기화() ” 등은 동기식 또는 차단 방법으로 간주됩니다.







Node.js의 이러한 차단 방법 예제 중 일부는 아래에 설명되어 있습니다.



예 1: “fs.renameSync()” 차단 방법 사용

fs.renameSync() ” 동기 방법은 폴더 이름을 이전 이름이나 경로에서 새 이름이나 경로로 바꿉니다. 차단 동작은 지정된 작업, 즉 폴더 이름 바꾸기가 완료되지 않을 때까지 다른 모든 작업의 ​​실행을 중단합니다.



통사론





'의 기본 구문 fs.renameSync() ” 메소드는 아래와 같이 작성됩니다.

fs. 이름 바꾸기동기화 ( 옛 이름, 새 이름 )

위의 구문은 “ fs.renameSync() ”에는 수정해야 할 파일의 경로와 설정할 업데이트 파일 경로만 필요합니다.



'를 차단하는 작업을 이해하는 예를 들어 보겠습니다. 이름 바꾸기동기화() ” Node.js의 메서드:

fs가 있어요 = 필요하다 ( 'fs' ) ;

fs. 이름 바꾸기동기화 ( '유즈케이스.txt' , 'demoAs.json' ) ;

콘솔. 통나무 ( '폴더 이름이 성공적으로 변경되었습니다' )

위의 코드 조각에서:

  • 첫째, “ FS ” 모듈을 가져와서 “라는 이름의 새 변수에 객체로 저장합니다. FS '.
  • 그런 다음 '를 호출합니다. 이름 바꾸기동기화() ” 메소드를 사용하여 이전 이름과 새 이름을 매개변수로 전달합니다.
  • 동기식 코드이므로 콜백 함수를 활용할 필요가 없습니다.
  • 또한 콘솔에 더미 메시지를 표시하여 프로세스 차단을 시각적으로 확인합니다.

생성된 출력은 차단 '의 도움으로 해당 폴더의 이름이 성공적으로 변경되었음을 보여줍니다. 이름 바꾸기동기화() ' 방법:

예 2: 'mkdirSync()' 차단 방법 사용

mkdir동기화() ”는 “의 사전 정의된 동기 방식입니다. FS ” 파일 시스템에 폴더/디렉토리를 생성하는 모듈입니다.

통사론

'의 일반화된 구문 mkdir동기화() ” 메소드는 아래와 같이 작성됩니다.

mkdirSync ( 경로, 옵션 )

mkdir동기화() ”는 다음 두 매개변수에서만 작동합니다.

  • 길: 생성해야 하는 디렉터리의 정확한 경로나 이름을 지정합니다.
  • 옵션: 폴더를 재귀적으로 생성할지 여부를 정의하는 선택적 매개변수입니다.

'를 차단하는 코드 예제를 살펴보겠습니다. mkdir동기화() ' 방법:

콘솔. 통나무 ( '차단 방법' ) ;

fs가 있어요 = 필요하다 ( 'fs' ) ;

fs. mkdirSync ( '사용 사례' ) ;

콘솔. 통나무 ( '폴더 이름이 성공적으로 변경되었습니다' ) ;

위 코드에서는 변환할 디렉터리 이름이 “ mkdir동기화() ' 방법. 이 메소드는 '에 의해 호출됩니다. FS ” 더미 메시지와 함께 모듈 개체.

생성된 출력은 ' mkdir동기화() ” 메소드가 구현되었으며 이 메소드가 완료될 때까지 향후 프로세스를 차단합니다.

예 3: 'rmdirSync()' 차단 방법 사용

rmdir동기화() ”는 지정된 경로에서 폴더를 삭제하는 동기 방법입니다. 동기식 동작은 지정된 작업, 즉 폴더 제거가 완료되지 않을 때까지 다른 모든 작업의 ​​실행을 차단합니다.

통사론

'의 일반화된 구문 fs.rmdirSync() ” 메소드는 아래와 같이 작성됩니다.

fs. rmdir동기화 ( 경로, 옵션 )

위의 구문은 “ rmdir동기화() '는 '에서만 작동합니다. ' 그리고 ' 옵션 ” 매개변수.

아래 코드 조각을 방문하여 프로젝트에서 대상 폴더를 삭제한 다음 삭제 후 프로젝트에서 해당 폴더의 가용성을 확인하세요.

const FS = 필요하다 ( 'fs' ) ;

fs. rmdir동기화 ( '사용 사례' )

콘솔. 통나무 ( '폴더가 성공적으로 삭제되었습니다' ) ;

폴더였습니다 = fs. 존재동기화 ( '사용 사례' ) ;

콘솔. 통나무 ( '폴더가 존재합니다:' , 폴더 ) ;

위의 코드 줄에서:

  • 첫째, “ rmdir동기화() ' 메소드는 가져온 '을 통해 호출됩니다. FS ” 모듈 객체에는 삭제해야 하는 파일 이름이 파라미터로 전달됩니다.
  • 다음으로는 “ 콘솔.로그() ” 메소드는 확인 메시지를 표시합니다.
  • 그 후, “ 존재동기화() ” 메소드도 호출되어 해당 폴더가 현재 디렉토리에 존재하는지 여부를 나타냅니다. 이 메소드의 결과 또는 출력은 ' 폴더 ” 변수입니다.
  • 마지막으로 “ 콘솔.로그() ” 메소드는 “의 값을 표시합니다. 폴더 ' 콘솔의 변수입니다.

생성된 출력에는 ''를 차단하여 대상 폴더가 삭제되었음을 보여줍니다. rmdir동기화() ' 방법:

이것이 Node.js의 차단에 관한 전부입니다.

결론

블로킹 ” 코드는 현재 프로세스가 완전히 실행될 때까지 모든 프로세스의 실행을 중지합니다. 출력이 이전 함수 결과에 종속되는 종속 메서드나 함수에 특히 사용됩니다. 차단 코드는 프로세스를 순차적으로 수행해야 하는 경우에도 좋은 선택입니다. 이 가이드에서는 Node.js의 차단에 대한 자세한 정보를 설명했습니다.