从分叉进程返回数据 [英] Returning data from forked processes

查看:21
本文介绍了从分叉进程返回数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我这样做

Process.fork do 
  x 
end 

我怎么知道 x 返回了什么(例如 true/fase/string)?

how can I know what x returned (e.g. true/fase/string) ?

(写入文件/数据库不是一种选择...)

(Writing to a file/database is not an option...)

推荐答案

我将一路上找到的所有解决方案(一些其他问题,如用户退出 + 管道缓冲区)打包到 红宝石平行宝石.现在就这么简单:

I wrapped all the solutions I found along the way (some other problems like user exiting + piping-buffers) into ruby parallel gem. Now it is as easy as:

results = Parallel.map([1,2,3],:in_processes=>4) do |i|
  execute_something(i)
end

results = Parallel.map([1,2,3],:in_threads=>4) do |i|
  execute_something(i)
end

这篇关于从分叉进程返回数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆