亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET線程安全與靜態變量的生命周期是什么

發布時間:2021-12-06 15:11:50 來源:億速云 閱讀:157 作者:iii 欄目:編程語言

這篇文章主要講解了“ASP.NET線程安全與靜態變量的生命周期是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ASP.NET線程安全與靜態變量的生命周期是什么”吧!

void Application_Start開始

void Application_End結束的,本來這就是對的

今天要做一個全局的應用,想確認一下,在網上一找,我的天,說什么的都有

大概分三種

1.Application_Start——Application_End

2.Session_Start——Session_End

3.類生命周期結束

我用4個機器做了一個測試發現靜態變量值一直是不變的,并沒有因為其它用戶登錄而被銷毀,確認應該是Application級的

靜態類在***訪問時會調用靜態構造器創建類類型對象,類型對象的生存周期是整個應用程序域的生存周期,也就說被訪問過的靜態類,只有它所在的應用程序域被卸載時才會被卸載。

類的成員分為兩類,靜態成員(static member)和實例成員(instance member)。靜態成員屬于類,實例成員則屬于對象,即類的實例。

簡單討論一下在一個類中使用靜態字段(static field)和靜態方法(static method)是否會有線程安全問題。

我們在知道, 靜態字段(static field)和靜態方法(static method)的調用是通過類來調用。靜態方法不對特定的實例操作,只能訪問靜態成員。實例方法可對特定的實例操作,既能訪問靜態成員,也能訪問實例成員。

那么,在多線程中使用靜態方法是否有ASP.NET線程安全問題?這要看靜態方法是是引起ASP.NET線程安全問題要看在靜態方法中是否使用了靜態成員。

因為,在多線程中使用同一個靜態方法時,每個線程使用各自的實例字段(instance field)的副本,而共享一個靜態字段(static field)。所以說,如果該靜態方法不去操作一個靜態成員,只在方法內部使用實例字段(instance field),不會引起安全性問題。但是,如果該靜態方法操作了一個靜態字段,則需要靜態方法中采用互斥訪問的方式進行安全處理。

舉個簡單的例子,我們使用的Console.WriteLine();中WriteLine()是Console.WriteLine類的靜態方法。

對于ASP.NET線程安全中, 多個客戶端訪問服務器端, 這是一個多線程的例子.只要理解了原因,我們可以在三層架構中的數據訪問層中放心使用靜態方法(static method)來訪問數據庫.

靜態方法如果沒有使用靜態變量,則沒有線程安全問題。

為什么呢?因為靜態方法內聲明的變量,每個線程調用時,都會新創建一份,而不會共用一個存儲單元。每個線程都會創建自己的一份,因此不會有線程安全問題

注意,靜態變量,由于是在類加載時占用一個存儲區,每個線程都是共用這個存儲區的,所以如果在靜態方法里使用了靜態變量,這就會有線程安全問題!

感謝各位的閱讀,以上就是“ASP.NET線程安全與靜態變量的生命周期是什么”的內容了,經過本文的學習后,相信大家對ASP.NET線程安全與靜態變量的生命周期是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

积石山| 阿巴嘎旗| 新平| 嘉义市| 沐川县| 绥宁县| 九龙坡区| 鄂托克前旗| 余庆县| 象山县| 大同市| 华坪县| 铁岭县| 定安县| 大竹县| 朔州市| 无棣县| 东乡族自治县| 荥阳市| 平顺县| 盘锦市| 肇庆市| 定结县| 安新县| 乌拉特前旗| 新密市| 景德镇市| 新余市| 金华市| 金坛市| 青岛市| 鄂伦春自治旗| 永新县| 临漳县| 乌兰县| 娱乐| 兴义市| 内乡县| 辛集市| 清镇市| 抚州市|