Multiple-thread environment issues

Threads are multiple, simultaneous paths of execution in a single operating system process, and share access to the resources allocated to that process.

Some application programming interfaces (APIs) allow an application developer to effectively use threads in the transaction environment. In turn, Sybase’s XA Interface supports a maximum level of concurrency, enabling it to take advantage of those environments.

However, this raises several issues for an application developer. For background information and a complete discussion of the issues, see the OSF’s DCE Application Developer’s Guide.

The Open Client Reference Manual contains a section on thread-safe programming. XA Interface assigns connections to threads at the request of the TM. These assignments ensure that only one thread at a time is working on the connection and is the reason the thread ID is included in the cs_object request described in “Obtaining a Client-Library connection handle”. As long as connections assigned by XA Interface are used in the thread to which they are assigned and the restrictions on their use are followed, there should be no Open Client or ESQL threading-related problems.