Powiedzmy, że chcę zwiększyć licznik za każdym razem, gdy otrzymam odpowiedź ajax. Nie wiem o modelu współbieżności ze zdarzeniami asynchronicznymi JavaScript. Jakieś pomysły ?Jak uzyskać operacje atomowe (model współbieżności) w JavaScript?
14
A
Odpowiedz
17
W przeglądarce działa tylko jeden wątek javascript na raz.
Problemy z współbieżnością są możliwe, ponieważ podczas gdy odpowiedź ajax jest w toku, javascript może działać w odpowiedzi na niepowiązane zdarzenie. Ale jesteś bezpieczny, jeśli nie rozpoczniesz operacji, która ma być atomowa przed wywołaniem ajax i zakończysz ją w procedurze obsługi odpowiedzi.
+1
Tak. Każde wydarzenie jest obsługiwane atomowo. – JGWeissman
Powiązane problemy
- 1. Operacje atomowe w C++
- 2. Jakie operacje są operacje atomowe
- 3. Operacje atomowe dla shared_ptr w C++ 11
- 4. Operacje atomowe C++ dla struktur bez blokady
- 5. Czym jest model współbieżności Meteor?
- 6. Jakie operacje w Javie są uważane za atomowe?
- 7. Jak uzyskać model szkieletu typu?
- 8. Operacje walutowe za pomocą javaScript?
- 9. Model-widok kontroler w JavaScript
- 10. Jak uzyskać bieżący model w filtrze działania
- 11. Jak wykonywać operacje na Regex Wsteczne dopasowania w JavaScript?
- 12. Jak działają żądania atomowe Django?
- 13. Model modułu JavaScript/Dojo - jak debugować?
- 14. Operacje wiersza w oktawie
- 15. Jak uzyskać model pętli zwrotnej Strongloop?
- 16. Ember - Jak uzyskać model trasy wewnątrz trasy
- 17. JavaScript/przeglądarka internetowa model gwintowania
- 18. Jak rozwiązać konflikt współbieżności w ado.net
- 19. Czy operacje atomowe stają się wolniejsze, gdy dodaje się więcej procesorów?
- 20. Czy + =, | =, & = itd. Atomowe?
- 21. Kontrola współbieżności w modelu Django
- 22. synchroniczne metoda współbieżności w Ruby
- 23. Backbone.Collection uzyskać model po id
- 24. Czy "ConcurrentHashMap.putAll (...)" jest atomowe?
- 25. Scala - futures i współbieżności
- 26. Jak uzyskać funkcjonalne powiązanie z ng-model (z pnkr)
- 27. Jak uzyskać bieżący model z niestandardowej metody w laravel
- 28. Bitowe operacje w OCaml
- 29. RecyclerView and DiffUtil - koszmar współbieżności
- 30. Jak uzyskać renderowane html (przetwarzane przez Javascript) w formancie WebBrowser?
Zobacz komentarze [dotyczące odpowiedzi na inny temat] (http://stackoverflow.com/questions/6944748/is-there-an-ie-render-complete-event/6987573#6987573). Zasadniczo wszystkie skrypty są ustawione w kolejce do wykonania i nigdy nie ma dwóch skryptów działających w tym samym czasie. Jeśli skrypt jest uruchamiany, nowo uruchamiane skrypty (wyzwalane przez zdarzenia wywołane przez użytkownika lub żądania AJAX) są umieszczane w kolejce. Dlatego nie ma problemów z współbieżnością w JavaScript, ponieważ nie jest dostępna żadna współbieżność. –
Co masz na myśli, mówiąc, że żadne dwa skrypty nie są wykonywane w tym samym czasie. Co dokładnie liczy się jako jednostka skryptu w twojej definicji? – smartnut007
Domyślam się, co rozumie się przez "skrypt", musi być całą odpowiedzią, ze strony wszystkich załadowanych skryptów JavaScript, na dane zdarzenie. – Shavais