■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50



レス数が1000を超えています。残念ながら全部は表示しません。

Mac OSX はどうよ?(マカーお断り) Part3

257 :名無しさん@お腹いっぱい。 :02/07/10 10:04
>>253
> こいつがスレッド毎にPID変えてくれるから
linux 2.4ならスレッドのPIDを同じにすることができるぞ。

>「別スレッドの生んだ子プロセスの親とは見なされない」ってアホなことがおこる。
こっちも2.4なら可能。

clone(2)のmanより、

CLONE_PARENT
(Linux 2.4 以降で) CLONE_PARENT が設定された場合、新しい子供の( getppid(2) で返される)
親プロセスは呼び出したプロセスの親プロセスと同じになる。

CLONE_PARENT が設定されていない場合、 (fork(2) と同様に)呼び出したプロセスがその子供の親になる。

子供が終了した時にシグナルが送られるのは getppid(2) が返す親プロセスであることに注意すること。
このため CLONE_PARENT が設定された場合、呼び出したプロセスではなく呼び出したプロセスの親プロセス
にシグナルが送られる。

CLONE_THREAD
(Linux 2.4 以降で) CLONE_THREAD が設定された場合、子プロセスは呼び出したプロセスと同じスレッド
・グループに 置かれる。

CLONE_THREAD が設定されていない場合、子プロセスは独自の(新しい)スレッド・グループに置かれ、
スレッド・グループ ID はそのプロセス ID と同じになる。

スレッド・グループは POSIX スレッドのスレッド集合で一つの PID を共有する という概念をサポート
するために Linux 2.4 に加えられた。Linux 2.4 では getpid(2) はそのプロセスのスレッド・グループ
ID を返す。

Linuxもちゃんと進歩しているのよ。

ちなみにNGPTというM:Nなスレッドライブラリもあるよん。
http://www-124.ibm.com/developerworks/oss/pthreads/


掲示板に戻る 全部 前100 次100 最新50

read.cgi ver5.26+ (01/10/21-)