[omniORB] about the multithread in omniORB

Luke Deller ldeller@xplantechnology.com
Tue Jul 2 09:54:00 2002


Oops thanks for the correction Duncan!  I should read the links in my own 
email more carefully ;-)

Duncan Grisby wrote:
 > No it doesn't!  It uses thread per connection, and holds connections
 > open between requests. That's an important difference, since thread
 > creation is too expensive to do on a per-request basis.

I realised that I am not fully clear about the use of connections in CORBA.

Thinking from the perspective of a CORBA client, I have object references 
and I use these references to make requests.  There is no concept of a 
connection in this model.

My understanding is that the use of connections are a detail of implementing 
an ORB which uses a connection-oriented protocol (like giop).  The details 
of connection use (like whether a connection is reused for multiple requests 
/ multiple remote objects / concurrent requests) should be transparent to 
the CORBA programmer, except where the ORB implementation may be vulnerable 
to deadlock.

Is this correct?

This would mean:
- there is not necessarily any correlation between the lifetime of a 
connection and an object reference
- there is no way of knowing whether two requests will use the same 
connection or not

Is this true?

Thanks!
Luke.