Ранее я задал вопрос о cf scopes на страницах cfm (счастлив, что я понимаю области CFC и потенциальные проблемы), но до сих пор неясно в области переменных.coldfusion CFM Variables scope
В ответах на мой предыдущий вопрос было высказано предположение, что с использованием страниц cfm не возникает проблем с потоковой безопасностью, и вы не получите сценарий, когда два разных пользователя получают доступ к одной странице и имеют условия гонки или проблемы безопасности потоков (даже если я просто оставлю переменные в области переменных cfm по умолчанию и что область переменных для каждого пользователя будет изолирована и независима (вот мой последний вопрос Coldfusion Scopes Clarification)
Тем не менее, я прочитал это сообщение в блоге http://blog.alexkyprianou.com/2010/09/20/variables-scope-in-coldfusion/ относительно использование функций на странице cfm и использование области переменных и, по-видимому, предполагает сценарий, в котором область видимости переменных распределяется между несколькими пользователями (я понимаю эту проблему в контексте ХФУ - их больше аки n для классов java и области переменных, являющихся переменными экземпляра, так что проблемы с безопасностью потоков, если CFC является общим/областью приложения/singleton), но это похоже на предыдущие ответы - если переменная помещается в область переменных с помощью функции на cfm страница может быть доступна другим пользователям, то, конечно, переменные, помещенные в область переменных напрямую в код страницы cfm, одинаковы?
Я надеялся на некоторые четкие документы и руководства, но не смог найти окончательного объяснения различных областей и где они доступны.
Спасибо!
Поскольку область видимости переменных не является общей областью, не должно быть проблем, когда два пользователя могут создать условие гонки, однако возможно, что состояние гонки может случиться с одним пользователем. – BKK
Асинхронная деятельность в стороне, как может быть состояние гонки? Разумеется, когда пользователь нажимает на страницу, он выполняется в одном поточном, последовательном порядке? (Я признаю, что если вы не используете локальные переменные области в функциях, это может запутаться при повторном использовании имен переменных, а не в том, что вещи уже инициализированы). Кроме того, вы говорите, что сообщение в блоге неверно? – rhinds
В блоге он ссылается на «request1» и «request2», он явно говорит, что это два разных пользователя? У меня не было такого впечатления, я догадывался о какой-то проблеме многоядерного параллелизма. – BKK