빈 배열을 선언하고 4개의 프로세스를 동시에 열고 값을 배열에 푸시합니다. 이러한 푸시가 입력되는 순서는 무엇입니까?
高洛峰2017-06-12 09:25:56
js에는 여러 프로세스가 있고 동시에 배열을 수정할 수 없다는 말을 들어본 적이 없습니다. 다른 전문가가 살펴볼 수 있도록 코드를 게시할 수 있습니다
欧阳克2017-06-12 09:25:56
간단한 실험은 다음과 같습니다. 여러 프로세스(태스크)가 작동할 때 마지막 프로세스에 따라 배열의 값이 달라집니다. 2 setTimeout
和 1个setInterval
同时操作一个数组,并分别 push
를 사용하여 1, 2, 3의 세 가지 값을 입력했는데 최종 결과는 다음과 같습니다.
Ruan Yifeng의 기사에는 다음과 같은 명확한 설명이 있습니다. 단일 스레드는 모든 작업을 대기열에 넣어야 하며 이전 작업이 완료될 때까지 다음 작업이 실행되지 않음을 의미합니다. 이전 작업이 오래 걸리면 다음 작업은 기다려야 합니다. ;원문 보기