ICE線程模型

1:ice的併發情形下線程安全問題?

多線程意味着,來自客戶的多個調用能夠在服務器中併發執行。事實上,在同一個servant 中,以及在同一servant 的同一個操做中,均可以有多個請求在並行執行。所以,若是在操做實現中,涉及到對非棧存儲的操縱(好比servant 的成員變量、全局變量,或靜態變量),你必須對數據訪問進行互鎖,以防止數據損壞。

1.1: 如何肯定線程池大小依據?

1.2: 內部調用至少使用2個線程

配置: 編程

動態配置: name.Size=3 name.SizeMax=5 name.ThreadIdleTime=10 安全

2 同步和異步問題?

2.1 同步編程模型:發出調用的線程會阻塞到操做返回。每一個客戶佔有一個線程。

2.2 異步編程模型:

Client: 異步方法調用(AMI):使用AMI發出遠地調用,在Ice run time等待答覆的同時,發出調用的線程不會阻塞。相反,發出調用的線程能夠繼續進行各類活動,當答覆最終到達時,Ice run time會通知應用。通知是經過回調發給應用提供的編程語言對象的。 Server: 異步方法分派(AMD):使用AMD時,服務器能夠接收一個請求,而後掛起其處理,以儘快釋放分派線程。當處理恢復、結果已得出時,服務器要使用Ice run time提供的回調對象,顯式地發送響應。服務器

3 oneway、twoway和雙向和單向的關係

oneway、twoway是一種代理模式 單向和雙向針對鏈接來講的。多線程

相關文章
相關標籤/搜索