javascript - Posez une question liée au processus, js?
仅有的幸福2017-06-12 09:23:56
0
4
603
Déclarez un tableau vide, ouvrez quatre processus et poussez les valeurs dans le tableau en même temps. Quel est l'ordre dans lequel ces push sont saisis ?
Je n'ai jamais entendu parler du dicton selon lequel js a plusieurs processus et qu'il est impossible de modifier un tableau en même temps. Vous pouvez publier le code pour que d'autres experts puissent y jeter un œil
Une expérience simple est la suivante. Lorsque plusieurs processus (tâches) fonctionnent, la valeur du tableau dépend du dernier processus. J'utilise 2 setTimeout 和 1个 setInterval 同时操作一个数组,并分别 push pour saisir les trois valeurs1, 2 et 3, et le résultat final est :
[1, 2, 3, 3, 1, 1, 3, 1, 1, 3]
Il y a une explication claire dans l'article de Ruan Yifeng : Un seul thread signifie que toutes les tâches doivent être mises en file d'attente et que la tâche suivante ne sera exécutée que lorsque la tâche précédente sera terminée. Si la tâche précédente prend beaucoup de temps, la tâche suivante devra attendre. ;Afficher le texte original
Je n'ai jamais entendu parler du dicton selon lequel js a plusieurs processus et qu'il est impossible de modifier un tableau en même temps. Vous pouvez publier le code pour que d'autres experts puissent y jeter un œil
Vous devriez l'écrire en NodeJS
Une expérience simple est la suivante. Lorsque plusieurs processus (tâches) fonctionnent, la valeur du tableau dépend du dernier processus. J'utilise 2
setTimeout
和 1个setInterval
同时操作一个数组,并分别push
pour saisir les trois valeurs1, 2 et 3, et le résultat final est :Il y a une explication claire dans l'article de Ruan Yifeng : Un seul thread signifie que toutes les tâches doivent être mises en file d'attente et que la tâche suivante ne sera exécutée que lorsque la tâche précédente sera terminée. Si la tâche précédente prend beaucoup de temps, la tâche suivante devra attendre. ;Afficher le texte original
Testez-le et vous saurez ce tableau à chaque fois que le push réussit
.