以下代码有效,但是如果读取器和写入器是跨父进程和子进程的共享资源,为什么它们首先要关闭?
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
我不知道为什么它不起作用。谁能给我一个想法?