如何从 Ruby 中的线程返回值?

2024-02-26

如果我有以下代码:

threads = []
(1..5).each do |i|
  threads << Thread.new { `process x#{i}.bin` } 
end
threads.each do |t|
  t.join
  # i'd like to get the output of the process command now.
end

我需要做什么才能获得进程命令的输出?我怎样才能创建一个自定义线程来完成这个任务?


剧本

threads = []
(1..5).each do |i|
  threads << Thread.new { Thread.current[:output] = `echo Hi from thread ##{i}` }
end
threads.each do |t|
  t.join
  puts t[:output]
end

说明如何完成您所需要的。它的好处是可以将输出保留在生成它的线程中,因此您可以随时加入并获取每个线程的输出。运行时,脚本会打印



Hi from thread #1
Hi from thread #2
Hi from thread #3
Hi from thread #4
Hi from thread #5
  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Ruby 中的线程返回值? 的相关文章

  • “rmagick”gem 安装问题

    我在尝试在 centos 上安装 rmagick gem 时遇到问题 以下是我得到的输出 谁能帮我识别一下我缺少什么包裹 我已经安装了所有提到的另一个堆栈溢出线程 RMagick安装错误 https stackoverflow com qu
  • 使用单独的线程在java中读取和写入文件

    我创建了两个线程并修改了 run 函数 以便一个线程读取一行 另一个线程将同一行写入新文件 这种情况会发生直到整个文件被复制为止 我遇到的问题是 即使我使用变量来控制线程一一执行 但线程的执行仍然不均匀 即一个线程执行多次 然后控制权转移
  • java中使用多线程调用同一类的不同方法

    我有一个类 如下所示 具有三种方法 public class MyRunnable implements Runnable Override public void run what code need to write here to c
  • 用户未定义的方法 attr_accessible 错误

    我正在尝试创建某种登录 我创建了一个用户脚手架并将此代码放在我的 user rb 中 class User lt ActiveRecord Base attr accessible name password digest password
  • 红宝石接球和效率

    catch在 Ruby 中意味着跳出深度嵌套的代码 在 Java 中 例如用Java也可以达到同样的效果try catch用于处理异常 但它被认为是糟糕的解决方案 而且效率非常低 在 Ruby 中 我们有处理异常的方法begin raise
  • 我可以将 MAMP (MySQL) 或 XAMPP (MySQL) 与 Ruby on Rails 3 一起使用吗?

    我可以将 MAMP MySQL 或 XAMPP MySQL 与 Ruby on Rails 3 一起使用吗 我从 MYSQL com 安装了 MySQL 但遇到了很多麻烦 所以我喜欢使用 MAMP XAMPP Mysql 有人这样做吗 另外
  • 如何重新启动死线程? [复制]

    这个问题在这里已经有答案了 有哪些不同的可能性可以带来死线程回到可运行状态 如果您查看线程生命周期图像 就会发现一旦线程终止 您就无法返回到新位置 So 没有办法将死线程恢复到可运行状态 相反 您应该创建一个新的 Thread 实例
  • Ruby 中的 DateTime.parse() 是否依赖于语言环境?

    我想知道以下示例的输出 解析时01 03 它会被解决为Mar 1st or Jan 3rd Ruby 不依赖于语言环境 因为红宝石是一个服务器端语言而不是客户端像 JavaScript 一样的语言 Ruby 使用系统时钟yourWeb 应用
  • 导致崩溃转储的 Java 错误的解决方法

    我开发的一个程序偶尔会由于这个错误而导致 JVM 崩溃 http bugs java com bugdatabase view bug do bug id 8029516 http bugs java com bugdatabase vie
  • 异步迭代器

    我有以下代码 while slowIterator hasNext performLengthTask slowIterator next 由于迭代器和任务都很慢 因此将它们放入单独的线程中是有意义的 这是对迭代器包装器的快速而肮脏的尝试
  • pthread_cond_timedwait() 和 pthread_cond_broadcast() 解释

    因此 我在堆栈溢出和其他资源上进行了大量搜索 但我无法理解有关上述函数的一些内容 具体来说 1 当pthread cond timedwait 因为定时器值用完而返回时 它如何自动重新获取互斥锁 互斥锁可能被锁定在其他地方 例如 在生产者
  • 为 RoR 中的每个用户创建新的 URL 路径

    如何在 Ruby on Rails 中实时创建新的 URL 路径 例如 我希望我的用户拥有 name XXX com 或 XXX com name 仅供参考 我在 Heroku 上托管代码 看看 subdomain fu 插件 https
  • 在 Sinatra 中运行后台进程

    我有 Sinatra Rails 应用程序和一个启动一些漫长过程的操作 通常我会为后台作业排队 但这种情况太简单了 后台进程很少启动 所以队列是一个开销 那么如何在没有队列的情况下运行后台进程呢 get build logs project
  • 使用 ruby​​ 调整动画 GIF 图像的大小?

    我正在尝试将 GIF 图像调整为不同的尺寸 我在 ruby 中使用 RMagick 库 但对于某些 gif 图像 即使我缩小 GIF 的大小 文件大小似乎也会增加 我正在以相同的纵横比调整图像图像的大小 这是我的代码 require rma
  • Ruby 中的 url_encode

    I read 的文档url encode http rdoc info stdlib erb 1 9 3 ERB Util 3Aurl encode 是否有一个表可以准确地告诉我哪个字符被编码为什么 使用url encode ERB s u
  • 比较 ruby​​ 哈希值[重复]

    这个问题在这里已经有答案了 可能的重复 如何比较两个哈希值 https stackoverflow com questions 4928789 how do i compare two hashes 我有两个 ruby 哈希值 本质上是模型
  • 嵌套 has_one 关联的强参数

    我似乎遗漏了一些明显的东西 但我无法允许嵌套的属性has one协会 控制器 def create crossword Crossword new crossword params if crossword save render show
  • 如何声明依赖于参数化任务的 Rake 任务?

    我见过一些任务具有参数和依赖项任务的示例 例如 task name first name last name gt pre name do t args args with defaults first name gt John last
  • Ruby 动态变量名

    有没有办法在 Ruby 中创建具有动态名称的变量 我正在读取一个文件 当我找到一个字符串时 会生成一个哈希值 e g file File new games log r file lines do l l split do p if p 1
  • rake db 问题:迁移 -

    我无法为 Ruby on Rails 设置 MySQL 数据库 设置数据库并确保 config database yml 文件匹配后 我遇到了以下错误消息 U Rails alpha gt rake db migrate trace in

随机推荐

  • 如何通过 Facebook 的 Graph API 获取共同好友

    有没有办法使用 Facebook 的 Graph API 获取共同好友列表 我一直在玩这个工具 https www simoncross com fb graph GET https graph facebook com 并且还没有想出办法
  • 使用 MVVM 绑定 ComboBox SelectedItem

    我有一个问题选定的项目 in my ComboBox
  • 如何找到对用户控件的所有引用

    在 Visual Studio 2010 中 我有一个非常大的 ASP NET 网站项目 其中有很多用户控件 如何确定整个项目中引用特定 ascx 用户控件的所有 aspx 页面 Thanks 右键单击您的班级User Control并选择
  • 如何在设计时制作支持拖放的自定义WPF ContentControl?

    我想创建内部有一个 子 控件的自定义 WPF 控件 子类化ContentControl or UserControl有效 但有一个缺陷 这些控件在设计器模式下不起作用 我所说的 不起作用 是指这种情况 假设我有一个Canvas里面有我的自定
  • 如何在 iPhone 中保存密码?

    我需要创建一个 iPhone 应用程序 它将与网站通信 所以它需要用户名和密码 现在我需要知道如何在 iphone 中保存用户名和密码 我已经使用过 NSuserdefaults 但这并没有解决我的 pblm 另外我需要恢复视图 从用户退出
  • 使用从情节提要中的通用类继承的类时,出现“界面生成器文件中的未知类”

    我最近重构了我的课程BookTableViewController来自简单的继承UITableViewController 这样它现在继承自泛型类FetchedResultsTableViewController
  • 在 Android 模拟器中以“飞行”模式进行测试

    我正在尝试在手机没有连接到互联网的情况下测试我的应用程序 在我的模拟器中 我在设置中打开了飞行模式 但是 我的应用程序似乎仍然能够与我的服务器通信 它正常工作 在我的设备上 相同的代码在没有数据连接的情况下引发错误 如何确保模拟器中没有互联
  • Route.php找不到我创建的控制器类

    我正在尝试构建一个 silex 应用程序 我的文件结构是 ROOT App Controller IndexController php Config dev php prod php route php vendor web index
  • Canvas 会减小 Jpeg 的图像大小,但为什么呢?

    当我使用以下命令将 JPEG 图像绘制到 Canvas 时drawImage 之后 使用canvas toDataURL 使其可保存在本地 用鼠标右键单击 则保存的 Jpeg Image 的文件大小会减少约 40 仅当使用 Jpeg 时才如
  • 如何处理复合微服务请求中的验证?

    考虑一个具有两个实体的应用程序 User 包含基本用户数据 例如姓名 Passport 包含身份验证凭据 即密码 以及两个内部微服务 UserService 负责创建和管理用户及其基础数据 AuthService 负责用户认证和密码处理 T
  • 跨类型构造函数编写通用仿函数实例?

    我正在学习基本类型课程并编写了自己的实现functor适合我的类型Test a 行为就像Maybe data Test a Test a Emp class FC c a where t a gt b gt c a gt c b insta
  • Git 交互式合并?

    我有两个分支具有完全相同的文件 如果您想知道它是一个 sql 文件 我想以交互方式合并它 我几乎想打开一个 diff 程序 就像出现冲突 或命令行 时所做的那样 并准确选择哪些行去哪里 有办法做到这一点吗 是的 但主要是通过手动实现 您将告
  • 使用 BouncyCastle 解密 Rijndael 256 块大小

    我们有一个用于加密的辅助类 老实说 它可能是几年前从 Stack Overflow 复制的 目前 我们正在尝试将部分代码移植到 NET Core 但我们发现它不起作用 因为 NET Core 实现RijndaelManaged不支持 256
  • Spring MVC 可以处理多值查询参数吗?

    有了这个http myserver find by phones phone 123 phone 345请求 是否可以处理这样的事情 Controller public class Controller RequestMapping fin
  • 为什么 ByRef 不能与 WithEvents 结合使用?

    我想我很清楚两者之间的区别ByVal and ByRef在 VB 中 但我的问题是当我尝试将它与声明为的成员结合使用时WithEvents 我有以下方法 Private Sub SafeCloseAndDeRefConnection ByR
  • 使用 torch.stack()

    t1 torch tensor 1 2 3 t2 torch tensor 4 5 6 t3 torch tensor 7 8 9 torch stack t1 t2 t3 dim 1 在实现 torch stack 时 我无法理解如何对不
  • Android Realm - 调试[重复]

    这个问题在这里已经有答案了 我想查看 Realm 对象变量的值 例如 Student int studentID ArrayList
  • 顶级异常应用程序:dexDebug --dex -no-optimize --output android studio

    我正在将 Android 代码从 Eclipse 迁移到 Android studio 但遇到了以下错误 该项目构建良好并与 gradle 同步 但在编译时抛出以下错误 UNEXPECTED TOP LEVEL EXCEPTION Erro
  • Web 请求中未设置 Referrer 标头

    当我通过 Phonegap 加载 Web 应用程序并发出 Web 请求 通过 AJAX 或其他方式 时 根本不会设置 REFERRER HTTP 标头 这会干扰某些第三方网站的功能 如何发送 REFERRER 标头 我使用的是Phonega
  • 如何从 Ruby 中的线程返回值?

    如果我有以下代码 threads 1 5 each do i threads lt lt Thread new process x i bin end threads each do t t join i d like to get the