我有一個包含許多功能的組件「bulletin.cfc」。將cfc與coldfusion頁面中的線程一起使用
我的主頁有兩個使用cfthread標籤運行的線程。
來自.net我以爲我會創建組件的兩個instrances,並在每個線程中使用一個。這樣他們就不會彼此混淆,我不需要擔心在函數中加鎖。
<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>
這將運行一個晚上約70000倍,但得到每次約3-4個錯誤。檢查的錯誤,它看起來像
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()
)
你的'Bulletin.cfc'是否有狀態?如果沒有,並且函數中的所有變量都是正確的,則不需要它的另一個實例。 – Henry 2012-08-03 18:06:21