トップページ > プログラム > 2015年01月07日 > OxX2nn0Y

書き込み順位&時間帯一覧

70 位/183 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000010001



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【node.js】サーバサイドjavascript 3【io.js】©2ch.net

書き込みレス一覧

【node.js】サーバサイドjavascript 3【io.js】©2ch.net
84 :デフォルトの名無しさん[sage]:2015/01/07(水) 20:07:44.58 ID:OxX2nn0Y
>>83
逆に考えるんだ
ネットやパイプはノンブロッキングI/Oで多重化できるからワーカスレッドでやる意味の方がない
UnixのファイルI/OはそれができないからワーカスレッドでブロッキングI/Oせざるを得ない
以下のNoteにもそういうことが書いてある

http://nikhilm.github.io/uvbook/filesystem.html

ソースだとファイル系の操作(839行目〜)はみんな以下のPOSTマクロを使ってる

https://github.com/libuv/libuv/blob/v1.x/src/unix/fs.c#L97

その中のuv__work_submit()がワーカスレッドに処理を依頼する関数
ネットやパイプではそんなことしてない

詳細を知りたければブロッキングI/O、ノンブロッキングI/O、
多重化、非同期I/Oと順に説明してる解説を読むといい
そしてUnixでは本物の非同期I/Oは事実上ないことを知るw


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。