2.2. 再入可能およびスレッドセーフコードの記述

ARM C ライブラリは、リアルタイムオペレーティングシステム(RTOS)を使用する場合など、マルチスレッドをサポートしています。 このセクションの後半のマルチスレッドに関する説明では、以下の定義に基づいて解説します。

スレッド

グローバルデータを共有する複数の実行ストリームを意味します。

プロセス

特定のグローバルデータセットを共有するすべてのスレッドの集まりを意味します。

システムに複数のプロセスが存在する場合は、それぞれが完全に独立しデータを共有しないようにできます(特殊な状況を除く)。 それぞれのプロセスをシングルスレッドプロセスにしたり、複数のスレッドに分割したりすることもできます。

シングルスレッドプロセスの場合、制御フローは 1 つしかありません。 マルチスレッドアプリケーションの場合、複数の制御フローが同じ関数および同じリソースに同時にアクセスすることがあります。 リソースの整合性を確保するために、マルチスレッドアプリケーションについて記述するコードは、再入可能かつスレッドセーフなものにする必要があります。

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0349AJ
Non-Confidential