The BdbServerConnection
class is not
thread-safe. Furthermore, objects created from a
BdbServerConnection
instance use the
connection object internally for remote invocations. Therefore, they
are not thread-safe either. The connection object together with all
objects created from it must be used in a single thread, because
they all share the same connection object. For example, if we create
a BdbServerAdmin
object, a
SEnvironment
object from a
BdbServerConnection
object, a
SDatabase
object, and a
STransaction
object from the
SEnvironment
object, all five objects
must be accessed in a single thread.
For a multi-threaded application, you can create multiple
instances of BdbServerConnection
each in a
separate thread. Then, if necessary, you can open the same
environment or database from multiple connections to access the same
environment or database concurrently.