Thread Safety

Threads may share the module. However, a connection, its attributes, and any objects created using the connection cannot be shared without a locking mechanism.

A cursor is an example of an object created from a connection. To use a connection amongst multiple threads, the connection (its attributes and created objects) must be wrapped using a semaphore to implement resource locking.