マルチスレッドアプリケーションにおけるロックの管理スレッドセーフな関数は、ロックを使用して同時アクセスから共有リソースを保護します。ライブラリには、このロックメカニズムを管理し、ヒープなどの共有データの破損を防ぐために再実装できる関数があります。これらの関数はミューテックス関数です。応じたミューテックスの解放のいずれかです。オプションで、再度必要とされることがない場合にミューテックスが解放されます。ミューテックス関数は、固有のリアルタイムオペレーティングシステム(RTOS)呼び出しをラップします。関数のプロトタイプは以下のとおりです。ビットワードのポインタを取得し、有効なミューテックスとして初期化します。成功時にゼロ以外の値を返す必要があります。その結果、実行時に、この関数がマルチスレッド環境で使用されていることがライブラリによって認識されます。ミューテックスを初期化してロック解除状態にします。ミューテックスを使用する場合は、この関数を指定する必要があります。*m);この関数を呼び出したスレッドは、指定されたミューテックスのロックを取得します。この関数が利用可能になるまでブロックします。ミューテックスを所有しているスレッドには呼び出されません。ミューテックスを使用する場合は、この関数を指定する必要があります。よって取得されたミューテックスのロックを解除します。その後の呼び出しによって再びロックできます。別の呼び出し元スレッドがミューテックスを所有していると想定します。ミューテックスを使用する場合は、この関数を指定する必要があります。*m);この関数を呼び出したスレッドは、指定されたミューテックスを解放します。そのミューテックスと関連付けられたオペレーティングシステムリソースはすべて解放されます。ミューテックスは破棄され、再利用できません。別の呼び出し元スレッドがミューテックスを所有していると想定します。この関数はオプションです。ライブラリによる呼び出しは行われません。コンパイラツールチェーンヘッダファイルでは定義されませんが、別の場所で定義する必要があります。コードの一部として定義されます。バイトのメモリを作成します。ビットワードのメモリとして指定されます。ミューテックスの実装がこれを上回るメモリを必要とした場合、またはミューテックスを特殊なメモリに保存しなければならない場合には、実際のミューテックスを指すポインタとしてデフォルトのミューテックスを処理する必要があります。再実装フレームワークの典型的な例を次に示します。追加パラメータを意味します。