이전에 cfm 페이지에서 cf 스코프에 관한 질문을했지만 (CFC 범위와 잠재적 인 문제점을 이해하고 기쁘게 생각합니다), 여전히 변수 범위에서 명확하지 않습니다.coldfusion CFM 변수 범위
이전 질문에 대한 답변에서 cfm 페이지를 사용하는 스레드 안전성 문제는 없으며 두 명의 다른 사용자가 동일한 페이지에 액세스하여 경쟁 조건이나 스레드 안전성 문제가있는 시나리오를 얻지 못할 것이라고 제안되었습니다 (심지어 내 변수를 기본 cfm 변수 범위에두고 각 사용자의 변수 범위가 격리되고 독립성이 있다고 가정합니다 (여기 마지막 질문은 Coldfusion Scopes Clarification입니다)
그러나이 블로그 게시물 http://blog.alexkyprianou.com/2010/09/20/variables-scope-in-coldfusion/에 관해서 읽었습니다. cfm 페이지에서 함수를 사용하고 변수 범위를 사용하는 것은 변수 범위가 여러 사용자가 공유하는 시나리오를 제안하는 것으로 보입니다. (나는 CFC의 맥락에서이 문제를 이해합니다. n은 자바 클래스와 변수 범위는 인스턴스 변수이기 때문에 CFC가 공유/응용 프로그램 범위/싱글 톤일 경우 스레드 안전성 문제가 있음) 그러나 이것은 이전 답변에 대한 카운터처럼 보입니다 - 변수가 cfm 페이지는 다른 사용자가 액세스 할 수 있습니다, 그렇다면 변수는 cfm 페이지 코드에서 직접 변수 범위에 배치됩니다.
필자는 몇 가지 명확한 문서 및 가이드가 필요했지만 실제로는 다른 범위와 사용 가능한 위치에 대한 명확한 설명을 찾을 수 없었습니다.
감사합니다.
변수 범위가 공유 범위가 아니기 때문에 두 사용자가 경쟁 조건을 만들 수있는 문제는 없어야하지만 단일 사용자에게는 경쟁 조건이 발생할 수 있습니다. – BKK
비동기 활동을 제쳐두고 경쟁 조건이있을 수 있습니까? 분명히 사용자가 페이지를 조회하면 단일 스레드 방식으로 순차적으로 실행됩니까? (비록 당신이 함수에서 지역 범위 변수를 사용하지 않는다면, 변수 이름을 재사용하고 혼란스러워 할 수 있으며, 이미 초기화 된 것을 인식하지 못한다고 생각합니다.) 또한 블로그 게시물이 잘못되었다고 말하고 있습니까? – rhinds
블로그 게시물에서 그는 "request1"과 "request2"를 언급하고 있는데, 이들은 명시 적으로 2 명의 다른 사용자라고 말하고 있습니까? 나는 그런 인상을받지 못했다. 나는 일종의 멀티 코어 동시성 문제를 추측했다. – BKK