是否有一个Ruby模块可以轻松地在多个进程之间共享对象?我正在寻找类似于Python multiprocessing的东西,它支持可在进程之间共享的进程安全队列和管道。
答案 0 :(得分:3)
我认为你可以使用Ruby IO的功能做很多你想做的事情;你在进程之间共享,而不是线程,是否正确?
如果是这样的话,IO.pipe会做你需要的。 Ruby没有任何内置的处理跨进程队列的方法(据我所知),但你也可以使用FIFO(如果你在Unix上)。
如果你想要更细粒度的东西,并且有良好的线程支持,我相当肯定如果使用JRuby你可以搭载java.util.concurrent。 MRI具有非常糟糕的线程/并发支持,所以如果这是你的目标,JRuby可能是一个更好的去处。
答案 1 :(得分:2)
我已经遇到过这个库,但我还没有尝试过。
Parallel :: ForkManager - 一个简单的并行处理fork管理器。
答案 2 :(得分:1)