次のコードは機能しますが、リーダーとライターが親プロセスと子プロセスでリソースを共有している場合、そもそもそれらが閉じられているのはなぜですか?
reader, writer = IO.pipe
fork do
reader.close
writer.puts "foobar"
end
writer.close
puts reader.read
私が作成した次のコードのように、書き込み操作の後にリーダーとライターを閉じる必要があると思うので、これは私には意味がありません
reader, writer = IO.pipe
fork do
writer.puts "foobar"
writer.close
end
Process.wait
puts reader.read
reader.close
なぜうまくいかないのかわかりません。誰でも私にアイデアを与えることができますか?