マルチスレッドのサポート

OCLはマルチスレッド環境でサポートされています。モードパラメータの値として OCI_THREADED を指定して OCIEnvNlsCreate() を呼び出すことにより、マルチスレッド環境でマルチスレッドを有効化/使用できます。

retCode = OCIEnvNlsCreate( &envp,
                           OCI_THREADED,
                           NULL,
                           NULL,
                           NULL,
                           NULL,
                           0,
                           NULL,
                           0,
                           0 );

以降の OCIEnvNlsCreate() への呼び出しもすべて OCI_THREADED で行う必要があります。

マルチスレッドアプリケーションがスレッドセーフオペレーティングシステムで実行されている場合、OCIライブラリは、環境ハンドルごとにアプリケーションのミューテックスを管理します。