Delphi2010中DataSnap高階技術(7)—TDSServerClass中Lifecycle生命週期三種屬性說明
Lifecycle 三種屬性: Session、Invocation、Server
這三種屬性都用在什麼情況,有什麼要注意的事項,Delphi2010中罕有說明。
如果亂用這三種屬性,你的服務程式有可能崩潰,資料混亂,記憶體佔用大,效率低等問題!
下面我對這三種屬性的使用環境逐一介紹:
1. Session
說明:這是delphi2010中預設屬性,也是delphi推薦設定。Session會為每個來自客戶端的連結,建立一個執行緒來例項化。例項化是什麼概念呢?就是這個執行緒把所有你將要用到的類、函式等等都建立好了,等待你客戶端直接使用。這個執行緒和例項化並不釋放,直到客戶端中斷連線。如果有300個客戶端,那麼你的伺服器將會有300執行緒和例項,對伺服器硬體和記憶體是個考驗。
適用環境:這個設定是執行緒安全的!
•客戶端數量少,每臺伺服器不超過連線數量: 200 x CPU個數 x (每個CPU核數x0.7) (這是經驗值,穩定連線的數量,不是極限數量,別誤解^_^),記憶體現在很便宜了,想加多大就多大!
•客戶端頻繁呼叫伺服器資料,無論連線數量是多少,最好都用這種設定。如果客戶端很多,建議採用負載平衡和多臺伺服器來解決。
2. Invocation
說明:伺服器只是建立連線,但是先不做例項化,只有當客戶端請求功能的時候,伺服器才開執行緒並例項化,當客戶端用完後,伺服器就釋放執行緒和例項。
適用環境:這個設定是執行緒安全的!
•如果客戶端呼叫伺服器資料頻率低,這種方法很不錯,會節約很多記憶體。
3. Server
說明:伺服器對所有客戶端連線使用一個例項,不是執行緒安全的。所以要自己控制客戶端併發呼叫的問題(可以使用互斥、原子量等方法),讓客戶端的呼叫排成一隊使用伺服器資源。
適用環境:這個設定不是執行緒安全的!!
•配置較低的伺服器
•伺服器連線的另一端只能是單執行緒工作的模式
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/sunstone/archive/2010/02/02/5282666.aspx
相關文章
- Tomcat原始碼分析 (三)----- 生命週期機制 LifecycleTomcat原始碼
- 【Spring】Bean的LifeCycle(生命週期)SpringBean
- Android 程式生命週期 Process LifecycleAndroid
- Vue元件中prop屬性使用說明Vue元件
- react: 元件初識 && 生命週期 && 相關說明React元件
- Android生命週期元件Lifecycle使用詳解Android元件
- EntityFramework 學習【Entity Lifecycle 實體生命週期】Framework
- Docker | Docker技術基礎梳理(三) - 容器生命週期管理Docker
- Flutter 中的生命週期分析Flutter
- Java 中物件的生命週期Java物件
- Spring中bean的生命週期SpringBean
- (譯)理解Rust中的生命週期Rust
- 產品生命週期管理PLM技術研究
- React生命週期簡明寶典React
- Scala 技術週刊 | 第7期
- 文盤Rust -- struct 中的生命週期RustStruct
- Flutter核心技術與實戰 11 | 生命週期Flutter
- Hibernate的三種狀態及物件生命週期物件
- 細說 rust 生命週期引數Rust
- react 學習--元件的生命週期(三)銷燬階段React元件
- Rust 程式設計影片教程(進階)——004_4 方法定義中的生命週期註解和靜態生命週期Rust程式設計
- 在K8S中,PV 生命週期內的有哪些階段?K8S
- Envoy 代理中的請求的生命週期
- Android:聊聊 MVP 中 Presenter 的生命週期AndroidMVP
- Rust 程式設計視訊教程(進階)——004_4 方法定義中的生命週期註解和靜態生命週期Rust程式設計
- vue總結「三」--元件生命週期Vue元件
- Vue入門(三)Vue生命週期Vue
- <react學習筆記(3)>屬性與狀態以及元件的生命週期(初始化階段)React筆記元件
- 生命週期
- Android官方架構元件Lifecycle:生命週期元件詳解&原理分析Android架構元件
- 雲原生技術學習路線圖 初階+中階+高階
- 面試官:說說你對react生命週期的理解面試React
- Flutter中Widget的生命週期和渲染原理Flutter
- Spring中與bean有關的生命週期SpringBean
- Flutter中widget生命週期和渲染邏輯Flutter
- JAVA面試題:Spring中bean的生命週期Java面試題SpringBean
- 圖解ES6中的React生命週期圖解React
- 對Angular中的生命週期鉤子的理解Angular