【发布时间】:2012-09-24 09:49:29
【问题描述】:
Corba 服务器端有很多关于多线程的知识,但我对客户端感兴趣。我们有一个多线程客户端(Solaris、Orbix 6.3)和一个初始化 ORB 的 Corba 单例“管理器”。在运行时,“lsof”只显示一个到 Corba 服务器的 TCP 连接,因此所有从客户端工作线程发出的同步调用都应该被序列化。
想改变这种安排以利用并行性:每个线程管理自己的连接。我已经更改了设置,以便每个工作线程调用 ORB_init() 等而不是单例。
现在完全困惑:'lsof' 现在显示 2 个 TCP 连接,但有 6 个工作线程。 有些事情不对劲,预计 TCP 连接数与工作线程数一样多。可能是这种方法很幼稚 - 例如每个线程调用 ORB_init() 是否有意义?
我需要有人对此发表意见。多线程 client 的示例代码将有很大帮助。同样,在 Solaris 上使用 Orbix 6.3。
亲切的问候,
阿德里安
【问题讨论】:
-
我看到你做了类似的事情,我正在尝试做的事情。这是我的问题 - stackoverflow.com/questions/13009694/…。你有什么想法? (您的问题+1 - 互联网对于多线程 CORBA 客户端的信息真的很差,而对于多线程 CORBA 服务器的信息非常丰富)。提前致谢!
标签: multithreading corba