關于在WEB開發中使用static?
多用戶同時調用靜態函數,會產生多個進程,本身是不會沖突的。
但靜態函數訪問了同一靜態變量時就要使用lock語句。如果僅僅使用static方法而沒有static變量的話是不會有問題的,一般線程安全的問題都是針對變量訪問時發生沖突所造成的。class abc{ static object lockTest=new Object(); static function void Test(){ lock(lockTest) { //你的代碼。} } } 這樣,即使在Test()中被多個線程同時調用,但是掃行(你的代碼)是,由于lock語句的存在,仍然會是單線程運行。后來的線程,會被lock(lockTest)這一句給阻賽到上一個線程把(你的代碼)執行完。