04
用于自动驾驶的SOA中间件










线程与任务的映射关系。
a) 如果每个任务到来就分配一个线程去执行,新建线程或从线程池中取一个空闲线程,没有空闲线程就等待。这样任务的调度就等价与线程的调度。
b) 维持较少的线程数量(一般是CPU核心数的两倍),每个线程有个待执行的任务队列,新任务到达就放到线程的任务队列的合适位置。
对同一个客户端的RPC请求是否要按照顺序执行。如何保证顺序?
对同一个客户端的多个RPC请求是否允许在不同的线程执行?如果允许,则用户要在自己的代码中对共享资源做加锁处理;如果不允许,用户代码就不用考虑共享资源的加锁,编程简单。
在为任务分配执行线程的时候,是否考虑请求来自哪个客户端,比如把来自同一个客户端的执行任务分配到同一个线程。
能否为来自不同客户端的请求绑定一个需要访问的资源标识,将需要相同资源标识的任务分配到同一个任务队列中,这样用户代码就不需要为不同客户端来源的请求访问竞争资源时做加锁处理。




参考资料:
[1]. CORBA History https://www.corba.org/history_of_corba.htm
[2]. What is CORBA http://www.ois.com/Products/what-is-corba.html
[3]. omniCORBA http://omniorb.sourceforge.net/
[4]. 反叛之冰:Internet Communications Engine https://blog.csdn.net/grhunter/article/details/45606
[5]. Differencesbetween CORBA and ICE https://forums.zeroc.com/discussion/3035/differences-between-corba-and-ice
已完成
数据加载中