Pthreadでスピンロックがあるらしい

http://codezine.jp/a/article/aid/1893.aspx
この関数って始めて知った。オライリーのPthread本にも載っていないので新しいのかな?
ちなみにスピンロックといえばビジーウェイトのこと。

 主なspin関数は以下の通りです。詳細は適時manなどで参照してください。

    * int pthread_spin_init( pthread_spinlock_t * __lock, int __pshared )
    * int pthread_spin_destroy( pthread_spinlock_t * __lock )
    * int pthread_spin_lock( pthread_spinlock_t * __lock )
    * int pthread_spin_unlock( pthread_spinlock_t * __lock )
    * int pthread_spin_trylock( pthread_spinlock_t * __lock )

 int __psharedにはプロセスの共有を行うか行わないかを規定する定数マクロを設定します。種類は下記の通り。

    * PTHREAD_PROCESS_PRIVATE:自プロセス内のスレッドにのみ使用。他スレッドと共に使用した時の動きは保証できず。
    * PTHREAD_PROCESS_SHARED:他プロセスのスレッドと共有して使用可能。別途プロセス間通信をベースに実装。


manにものってないよ。
とおもったら英語版には有るみたい。


pthread_mutex_init()には

See Also

pthread_mutex_getprioceiling() , pthread_mutex_lock() , pthread_mutex_timedlock() , pthread_mutexattr_getpshared() , the Base Definitions volume of IEEE Std 1003.1-2001, 

Copyright

Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html .


pthread_spin_init()には

See Also

pthread_spin_lock() , pthread_spin_unlock() , the Base Definitions volume of IEEE Std 1003.1-2001, 

Copyright

Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html .


とある。
つまり両方とも同じ規格らしい。自分が知らなかっただけかな?