■掲示板に戻る■ 全部 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 最新50read.cgi ver5.26+ (01/10/21-)