-2

我使用 Rufus::Scheduler 来安排任务,代码如下:

class Scheduler
  def self.run
    scheduler = Rufus::Scheduler.start_new
    job = scheduler.in '5s', A.new
    scheduler.join
  end
  class A
    def call(job)
      puts "xxxxxx"
    end
  end
end
Scheduler.run

运行代码后,有打印'xxxx',但是运行call方法后,join不能自行退出,一直挂断。

等待完成工作后有什么方法可以退出加入吗?感谢你。

4

2 回答 2

2

调度程序旨在“永远”运行。调用“join”会加入调度程序线程,并且仅在线程死亡时退出。

您应该重新考虑您的代码,您正在尝试使用像螺丝刀一样的锤子。

于 2011-01-14T14:59:56.417 回答
-3

使用普通的Thread就可以达到要求。

于 2011-02-18T02:47:42.870 回答