간단한 실험은 다음과 같습니다. 여러 프로세스(태스크)가 작동할 때 마지막 프로세스에 따라 배열의 값이 달라집니다. 2 setTimeout 和 1个 setInterval 同时操作一个数组,并分别 push를 사용하여 1, 2, 3의 세 가지 값을 입력했는데 최종 결과는 다음과 같습니다.
으아아아
Ruan Yifeng의 기사에는 다음과 같은 명확한 설명이 있습니다. 단일 스레드는 모든 작업을 대기열에 넣어야 하며 이전 작업이 완료될 때까지 다음 작업이 실행되지 않음을 의미합니다. 이전 작업이 오래 걸리면 다음 작업은 기다려야 합니다. ;원문 보기
js에는 여러 프로세스가 있고 동시에 배열을 수정할 수 없다는 말을 들어본 적이 없습니다. 다른 전문가가 살펴볼 수 있도록 코드를 게시할 수 있습니다
NodeJS로 작성해야 합니다
간단한 실험은 다음과 같습니다. 여러 프로세스(태스크)가 작동할 때 마지막 프로세스에 따라 배열의 값이 달라집니다. 2
으아아아setTimeout
和 1个setInterval
同时操作一个数组,并分别push
를 사용하여 1, 2, 3의 세 가지 값을 입력했는데 최종 결과는 다음과 같습니다.Ruan Yifeng의 기사에는 다음과 같은 명확한 설명이 있습니다. 단일 스레드는 모든 작업을 대기열에 넣어야 하며 이전 작업이 완료될 때까지 다음 작업이 실행되지 않음을 의미합니다. 이전 작업이 오래 걸리면 다음 작업은 기다려야 합니다. ;원문 보기
테스트해 보면 푸시가 성공할 때마다 이 배열을 인쇄할 수 있습니다.