[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 12768] Re: 「 Java 言語仕様第 3 版」を読む会 8 回」議事録



こんばんは遠藤です。

調べてみました。
今はRecursiveは標準で使えるのかも知れません。

直接リンクを張ってよいのか分からないので
間接にしますが
http://www.opengroup.org/
から2004年仕様が見れたのですが(ドラフトかも知れません)

pthread_mutexattr_initの仕様を見ると
を見るとrecursiveは検討中に見えますが

pthread.hの定義やpthread_mutex_lockに仕様を見ると
少なくとも PTHREAD_MUTEX_RECURSIVE は仕様になっているようです。
しかし PTHREAD_MUTEX_INITIALIZER のRECURSIVE版はないようです。

Fedora7のpthread.hを見る限りでも
PTHREAD_MUTEX_RECURSIVEは定義されていたし
実際、複数回ロックも取れました。

PTHREAD_MUTEX_RECURSIVEが採用される前に使われていた
PTHREAD_MUTEX_RECURSIVE_NP(NPはたぶんNon-Portable)も
Fedora7のpthread.hには残されていて
同じ値になっていました。

PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NPなどもあります。

Linux JManの
http://www.linux.or.jp/JM/html/glibc-linuxthreads/man3/pthread_mutexattr_init.3.html
あたりは古い仕様のままのようですね。

あとデフォルトですが
PTHREAD_MUTEX_INITIALIZERで初期化した場合がデフォルトだと
書いてありましたが、これでRecursiveになるかならないかは
明言されている箇所を見つけられませんでした。
おそらくRecursiveではないだろうと思いますが。

とりあえずこんなところです。


TAKAHASHI, Tomohiro さんは書きました:
>   高橋(智)です。
> 
> nemo_kaz wrote:
> snip
>> ■14.19 Synchronized文
>>  Javaはreentrant lockが標準  POSIX threadはreentrant lockが標準ではないので注意がいる。
> 
>   このPOSIX thread(pthread_mutex_init/pthread_mutexattr_init)の標準(デフォルト)は
> 具体的には何かに決まっているのでしょうか?
> 


-- 
// Y. Endoh