我有一个包含许多功能的组件“bulletin.cfc”。
我的主页上有两个使用 cfthread 标签运行的线程。
来自.net,我想我会创建组件的两个实例,并在每个线程中使用一个。这样他们就不会互相干扰,我也不需要担心在函数中加锁。
<cfset bullObj = new bulletin()>
<cfset bullObj2 = new bulletin()>
它是否正确?
编辑:
到目前为止,感谢您的回答,但我仍然无法理解与此相关的问题。我在两个单独的 cfthread 元素中有以下代码:
<cfset listCount = 1>
<cftry>
<cfquery name="ins" datasource="#datasourceVar#" >
INSERT INTO element_user_shown
(elementid, userid, date_shown)
(
<cfloop list="#elementIDList#" index="lcv">
SELECT #lcv#, #tmpuserid#, GETDATE()
<cfif listCount LT listlen(elementIDList)>
UNION ALL
</cfif>
<cfset listCount = listCount + 1>
</cfloop>
)
</cfquery>
这会每晚运行大约 70,000 次,但每次都会出现大约 3-4 个错误。检查看起来像错误的sql
INSERT INTO element_user_shown
(elementid, userid, date_shown)
(
SELECT 621, 267509, GETDATE()
UNION ALL
SELECT 586, 267509, GETDATE()
UNION ALL
SELECT 594, 267509, GETDATE()
UNION ALL
SELECT 613, 267509, GETDATE()
SELECT 622, 267509, GETDATE()
SELECT 599, 267509, GETDATE()
SELECT 602, 267509, GETDATE()
)