分布计算环境作业一.通过生成进程来构建并发服务器与使用多线程来构建并发服务器相比有优点也有缺点,请分析这两种方式的优缺点
你认为基于CORBA实现的并发服务器是基于生成进程的方法,还是基于多线程的方法
并发服务器需要同时处理多个请求
采用多进程:优点:1)处理各个请求的进程之间隔离性好
缺点:1)创建/撤销处理各个请求的进程的代价大;2)分发器(主进程……)将请求发送到另一个进程的代价大(如果能说明为什么代价大更好);3)如果各个子进程间需要通信,代价大
采用线程:优点:1)创建/撤销处理各个请求的线程的代价小;2)分发器(主线程……)将请求发送到另一个线程的代价小(如果能够说明为什么代价小更好);3)如果各个线程间需要通信,代价小
缺点:1)一个线程出问题,可能会影响其他线程
CORBA:使用多线程技术实现并发服务器
因为如果采用多进程实现,有以下问题:1)服务器端要同时维护多个可被用户访问的CORBA对象,这些对象的数量常常会比较大,为每个服务对象起一个进程,进程数会比较大,系统开销过大;2)对于远程方法调用来说,请求的参数比较复杂,主进程将请求再发送给子进程,开销比较大;3)主进程、子进程都需要ORB的Runtime,进程启动/撤销的代价大;所以如果采用多进程的话实现并发CORBA服务器很困难
主要问题:(一)针对性不够:a)直接罗列进程和线程的优缺点(二)理由不够充分:a)为支持高并发及高可用,所以多线程或多进程b)为支持稳定性和健壮性,所以多线程或多进程c)ORB拿到请求后要决定哪一个对象实例完成这个请求,送过去,这种工作过程类似于线程d)多线程更适合,代价低,所以e)因为ORB每拿到一个对象都会派生一个线程,所以f)事务控制,所以……g)CORBA要对稳定性隔离性要求较高,所以基于进程方式(三)没有弄清楚题目问的重点:a)CORBA支持远程调用,客户和服