Ruby脚本永远挂起

用户名

这个小脚本应该生成用户指定数量的随机数并打印出来。这是一个多线程脚本,我认为这就是我的麻烦所在。我没有收到任何错误,但是运行脚本时会挂起。

num = []

while 0.upto ARGV[0].to_i do
  num << rand{254}
end

current_index = 0

while current_index < num.size

chunk = num[current_index, 5]
threads = []

chunk.each do |n|
  threads << Thread.new do
    puts n
  end
end

threads.each do |thread|
  thread.join
end

current_index += chunk.size
end

您不能将while循环与一起使用upto

更改为:

0.upto ARGV[0].to_i do
  num << rand(254)
end

并且它正常工作(我将花括号更改为大括号,因为我相信您希望在此处将254作为参数)。


边注:

请记住,在用Ruby编写线程程序时,CRuby具有GIL-全局解释器锁。因此,一次只能运行一个线程。如果您想要不同的行为-例如切换到jRuby。有关GIL的更多信息,请访问以下网址http : //www.jstorimer.com/blogs/workingwithcode/8085491-nobody-understands-the-gil

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

wxThread :: Delete永远挂起

来自分类Dev

SSH永远挂起?

来自分类Dev

烧瓶请求永远挂起

来自分类Dev

通过向 JScript 中的 StdIn 提供命令来编写 WinSCP 脚本 - 脚本挂起并且永远不会完成

来自分类Dev

Ruby on Rails 在来自 Python 脚本的 HTTP 请求期间挂起

来自分类Dev

googleWebAuthorizationBroker.AuthorizeAsync永远挂起

来自分类Dev

OData永远以Xamarin形式挂起

来自分类Dev

Python的信号量永远挂起

来自分类Dev

正则表达式永远挂起

来自分类Dev

driver.close()将永远挂起

来自分类Dev

启动 mongod 服务的 Ansible 任务永远挂起

来自分类Dev

挂起AHK脚本

来自分类Dev

Wget挂起,脚本停止

来自分类Dev

Wget挂起,脚本停止

来自分类Dev

备份脚本已挂起

来自分类Dev

期望脚本挂起

来自分类Dev

为什么我的脚本被挂起?

来自分类Dev

挂起从脚本启动的ssh进程

来自分类Dev

在Bash脚本中挂起SUDO?

来自分类Dev

递归haskell函数在交互式会话中永远挂起

来自分类Dev

带有phantomjs的量角器永远挂起

来自分类Dev

JPA Eclipse“从实体生成表”永远挂起

来自分类Dev

Kafka Consumer会先阅读直到开始,然后永远挂起

来自分类Dev

从子进程调用时,Python程序将永远挂起

来自分类Dev

了解异步已经运行了永远循环和挂起的任务

来自分类Dev

带有phantomjs的量角器永远挂起

来自分类Dev

使用 Java databeans 连接到 Siebel 永远挂起

来自分类Dev

Azure Dev Ops react-scripts 测试永远挂起

来自分类Dev

Ruby 使用 RVM 挂起负载