3

在 adobe Coldfusion 10 文档中,在 Application.cfc 中定义应用程序及其事件处理程序,有一个示例 Application.cfc 包含以下函数。查看代码后,我想知道以下代码中是否存在拼写错误/错误:

<cffunction name="onSessionStart"> 
    ...
    <cflock timeout="5" throwontimeout="No" type="EXCLUSIVE" scope="SESSION"> 
        <cfset Application.sessions = Application.sessions + 1> 
    </cflock> 
    ...
</cffunction> 

应该是:

  • (A) cflock ... scope="SESSION"
  • (B) cflock ... scope="APPLICATION"

?

如果是(A)那么我很困惑。有人可以解释为什么吗?

4

2 回答 2

1

这是我对 Adob​​e 论坛上提出的相同问题的回答的副本:

不要混淆......这是文档中的错误。您可以通过在页面底部发表评论来帮助 Adob​​e:他们会监控这些评论(他们并不总是做出反应,但会监控它们)。
onSessionStart() 就会话范围而言本质上是单线程的:它在每个会话中只运行一次(当会话开始时......)。另一方面,有问题的代码 def 想要单线程访问该应用程序范围的变量,因为我们不希望两个同时会话针对它的任何给定单个值访问它(如果这有意义的话)。

于 2012-06-28T06:13:16.723 回答
0

You always lock the SCOPE that you are writing to. In this case it would be APPLICATION.

于 2012-06-28T02:24:28.240 回答