Как параллельный доступ к переменной управляется в JavaScript - PullRequest
4 голосов
/ 19 января 2012

Я работаю над расширением Chrome, которое использует асинхронные функции, и у меня есть глобальная строковая переменная, которая устанавливается функцией, например:

my_global_variable + = a_string

Я бы знал, есть ли риск, что, если я прочитаю my_global_variable в другой функции одновременно, я получу только часть a_string.

Другими словами, является ли объединение (в более общем смысле, инструкция) атомарной операцией?

Ответы [ 2 ]

3 голосов
/ 19 января 2012

Javascript в браузере является однопоточным (кроме случаев, когда используются веб-работники HTML5), поэтому нет разногласий относительно доступа к переменным В плагине Gears была добавлена ​​многопоточность в Chrome, но это было прекращено в пользу функциональности HTML5 , например. Web Workers .

2 голосов
/ 19 января 2012

Да. конкатенация является атомарной операцией в Javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...