是否可以一次调用多个方法或对象?

罗克斯特160

假设我有一个方法,其中包括一个计数器,该计数器在每个刻度上都将其计数输出到屏幕上。在程序的其他地方,都调用了此方法的新版本,因此它们都可以同时运行,具有不同的计数器并与刻度一起更新。Ruby可以做到这一点吗?通常,创建对象的另一个实例是我要做的事情,尽管我对Ruby还是陌生的,但仍然难以捉摸。

我将使用稍后要实现的示例代码进行编辑。我目前在移动设备上,无法访问计算机。

尼基塔·切尔诺夫(Nikita Chernov)

在这里,我创建两个的实例Counter,两个计数器最初都设置为0。然后我将它们分开3秒启动它们-每个都在自己的线程中。他们开始打印数字。

class Counter
  def initialize
    @counter = 0 # initial counter to 0
  end

  def run
    loop do
      # wait one second, print the counter and increase it
      sleep 1
      puts @counter
      @counter += 1
    end
  end
end

threads = []

2.times do
  # put each counter in a separate thread
  threads << Thread.new do
    counter = Counter.new
    counter.run
  end

  sleep 3 # make a pause between launching counters    
end

threads.each(&:join)

我得到的输出:

0 # first
1 # first
2 # first
0 # second
3 # first
1 # second
4 # first
2 # second
5 # first

这里唯一的技巧是使用Thread类,否则第二个计数器将永远不会开始工作,因为第一个计数器将阻塞整个过程。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

一次单击按钮是否可以进行多个方法调用?

来自分类Dev

是否可以通过一次渲染从多个视图渲染对象

来自分类Dev

是否可以一次搜索多个Mongoose模型?

来自分类Dev

是否可以一次搜索多个猫鼬模型?

来自分类Dev

是否可以一次迭代多个 Dict 键?

来自分类Dev

是否可以一次调用一次setjmp()多次执行longjmp()?

来自分类Dev

是否可以使用“调用”或“应用”将参数数组一次传递给多个函数?

来自分类常见问题

使用多个线程仅调用一次方法

来自分类Dev

是否可以确保在下一次迭代之前调用循环内局部对象的析构函数?

来自分类Dev

在Chefspec中,是否可以编写一次方法,然后在其他spec文件中调用该方法?

来自分类Dev

有没有一种方法可以一次回显多个对象?

来自分类Dev

有没有一种方法可以对多个对象进行一次锤击事件?

来自分类Dev

是否有一种简单的方法可以通过R中的并行化一次运行多个循环试验?

来自分类Dev

tkinter和python-方法的第一次调用可以,方法的第二次调用抱怨对象没有该属性

来自分类Dev

除了块之外,是否有任何可行的方法可以一次处理多个 tkinter 条目而无需大量尝试?

来自分类Dev

一次多个Web服务调用

来自分类Dev

是否可以检测是否第一次调用 fluent interface?

来自分类Dev

一次移动多个对象-iOS

来自分类Dev

一次更新多个对象

来自分类Dev

Dart:一次创建多个对象

来自分类Dev

ZSH中是否有一种语法可以一次创建多个别名?

来自分类Dev

WTForms:我分别绑定对象上的每个字段,是否有一种方法可以一次将对象绑定到表单上?

来自分类Dev

如何在一次调用中扩展具有多个功能的对象?

来自分类Dev

一次调用printf可以打印的值数量是否有限制?

来自分类Dev

是否可以在一次Rails调用中同时在Ruby中运行任务?

来自分类Dev

是否可以调用“ navigator.geolocation.getCurrentPosition(初始化,失败);” 只有一次

来自分类Dev

Objective-C foreach是否保证可枚举对象仅被调用一次?

来自分类Dev

Objective-C foreach是否保证可枚举对象仅被调用一次?

来自分类Dev

我可以一次性放置多个对象吗?

Related 相关文章

  1. 1

    一次单击按钮是否可以进行多个方法调用?

  2. 2

    是否可以通过一次渲染从多个视图渲染对象

  3. 3

    是否可以一次搜索多个Mongoose模型?

  4. 4

    是否可以一次搜索多个猫鼬模型?

  5. 5

    是否可以一次迭代多个 Dict 键?

  6. 6

    是否可以一次调用一次setjmp()多次执行longjmp()?

  7. 7

    是否可以使用“调用”或“应用”将参数数组一次传递给多个函数?

  8. 8

    使用多个线程仅调用一次方法

  9. 9

    是否可以确保在下一次迭代之前调用循环内局部对象的析构函数?

  10. 10

    在Chefspec中,是否可以编写一次方法,然后在其他spec文件中调用该方法?

  11. 11

    有没有一种方法可以一次回显多个对象?

  12. 12

    有没有一种方法可以对多个对象进行一次锤击事件?

  13. 13

    是否有一种简单的方法可以通过R中的并行化一次运行多个循环试验?

  14. 14

    tkinter和python-方法的第一次调用可以,方法的第二次调用抱怨对象没有该属性

  15. 15

    除了块之外,是否有任何可行的方法可以一次处理多个 tkinter 条目而无需大量尝试?

  16. 16

    一次多个Web服务调用

  17. 17

    是否可以检测是否第一次调用 fluent interface?

  18. 18

    一次移动多个对象-iOS

  19. 19

    一次更新多个对象

  20. 20

    Dart:一次创建多个对象

  21. 21

    ZSH中是否有一种语法可以一次创建多个别名?

  22. 22

    WTForms:我分别绑定对象上的每个字段,是否有一种方法可以一次将对象绑定到表单上?

  23. 23

    如何在一次调用中扩展具有多个功能的对象?

  24. 24

    一次调用printf可以打印的值数量是否有限制?

  25. 25

    是否可以在一次Rails调用中同时在Ruby中运行任务?

  26. 26

    是否可以调用“ navigator.geolocation.getCurrentPosition(初始化,失败);” 只有一次

  27. 27

    Objective-C foreach是否保证可枚举对象仅被调用一次?

  28. 28

    Objective-C foreach是否保证可枚举对象仅被调用一次?

  29. 29

    我可以一次性放置多个对象吗?

热门标签

归档