1

Linux で MySQL 5.5 C API を使用しています。

私のプログラムは 1 つのメイン スレッドで開始し、多数のワーカー pthread を生成します。ワーカー スレッドは、データベース トランザクションを行う必要があります。

したがって、私のプログラムには2つの関数があります:

foo_init_main_thread() // called once before any worker threads are started

foo_init_worker_thread() // called from a worker thread
                         // immediately after it has started

この環境で MySQL を初期化する方法は明確ではありません。ドキュメントは本当に不明確です。

、、、の中foo_init_main_threadで、foo_init_worker_threadどの順番で呼び出す必要がありますか?mysql_thread_initmysql_library_initmysql_initmysql_connect

スレッドごとに 1 つのデータベース ハンドルが必要ですか、それともすべてのワーカー スレッドがデータベース ハンドルを共有できますか?

ドキュメントはこちら: http://dev.mysql.com/doc/refman/5.5/en/c.html

4

0 に答える 0