マルチスレッドのプログラミング

pthread_spin_init() の構文

int  pthread_spin_init(pthread_spinlock_t *lock, int pshared);
#include <pthread.h>

pthread_spinlock_t lock;
int pshared;
int ret;

/* initialize a spin lock */
ret = pthread_spin_init(&lock, pshared); 

pshared 属性は、次のいずれかの値を持ちます。


PTHREAD_PROCESS_SHARED

説明:

スピンロックが割り当てられているメモリーにアクセスできるすべてのスレッドに、スピンロックの操作を許可します。このロックが複数のプロセスによって共有されているメモリーに割り当てられている場合にも、ロックの操作を許可します。


PTHREAD_PROCESS_PRIVATE

説明:

スピンロックを、そのスピンロックを初期化したスレッドと同じプロセス内で作成されたスレッドだけが操作できるようにします。異なるプロセスのスレッドからスピンロックを操作しようとした場合、その結果は未定義です。プロセス共有の属性のデフォルト値は、PTHREAD_PROCESS_PRIVATE です。