ice中间件常见配置说明

2019-11-26 17:34:57 浏览数 (1)

1:ice的并发情形下线程安全问题?

多线程意味着,来自客户的多个调用可以在服务器中并发执行。事实上,在同一个servant 中,以及在同一servant 的同一个操作中,都可以有多个请求在并行执行。因此,如果在操作实现中,涉及到对非栈存储的操纵(比如servant 的成员变量、全局变量,或静态变量),你必须对数据访问进行互锁,以防止数据损坏。

1.1: 如何确定线程池大小依据?

1.2: 内部调用至少使用2个线程

配置:

动态配置:

name.Size=3

name.SizeMax=5

name.ThreadIdleTime=10

2:同步和异步问题?

同步编程模型:发出调用的线程会阻塞到操作返回。每个客户占有一个线程。

异步编程模型:

Client:

异步方法调用(AMI):使用AMI发出远地调用,在Icerun time等待答复的同时,发出调用的线程不会阻塞。相反,发出调用的线程可以继续进行各种活动,当答复最终到达时,Ice run time会通知应用。通知是通过回调发给应用提供的编程语言对象的。

Server:

异步方法分派(AMD):使用AMD时,服务器可以接收一个请求,然后挂起其处理,以尽快释放分派线程。当处理恢复、结果已得出时,服务器要使用Ice run time提供的回调对象,显式地发送响应。

3:oneway、twoway和双向和单向的关系

oneway、twoway是一种代理模式

单向和双向针对连接来说的。

0 人点赞