ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

sleepの対象はスレッドでした(汗)

2006-05-12 00:06:19 | PG(UNIX)

sleep()の実験をする専用のプログラム(UNIX:C言語)を作って試してみたところ、sleep(),usleep()の一時停止対象はプロセスでなくスレッドだった(汗)

おかしいなーと思ってマニュアルを見直したら、「man sleep」で表示されたのはセクション3F(FORTRAN)でやんの!(爆) うあー、ダメダメだぁ(泣)
改めてセクション3C(C言語)のsleep()を見てみると、先頭の方には「プロセスを止める」と書いてあるが、末尾の方に注意書きで「マルチスレッドの場合はnanosleep()で実装される」とあった。

usleep()の方は「呼出元を止める」としか書かれておらず、プロセスかスレッドかはっきりしないが、末尾の注意書きにはsleep()と同じことが書かれていた。

でnanosleep()を見ると、「カレントスレッドを止める」とばっちり書かれている!

…うー、昨日のselect()の調査は(本来の趣旨からは)意味無かったー(嘆)
しかしそうすると、当初のsleep()でうまくいかなかったのは何故だったんだろうなぁ? 何か見逃しがあって失敗したんだろうか。(他人のテストを横から見てたのが実態なので、細かい点は不明)



最新の画像もっと見る

コメントを投稿