如果我有一个带有方法的Generator.cfc:
numeric function next()
{
return variables.num++; // Is ++ an atomic operation??
}
Run Code Online (Sandbox Code Playgroud)
和:
application.generator = new generator();
Run Code Online (Sandbox Code Playgroud)
如果每个请求都调用application.generator.next(),那么这个生成器在重负载时会生成两次相同的数字吗?换句话说......这是线程安全的吗?如果没有,锁定在哪里?
您还可以查看Java 5类Atomic Integer
您需要的ColdFusion代码是这样的(我还没有测试过):
<cfset i = createObject("java", "java.util.concurrent.atomic.AtomicInteger").init(startValue) />
<cfset newValue = i.incrementAndGet() />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
451 次 |
| 最近记录: |