jjzjj

thread-sleep

全部标签

ruby-on-rails - 可以在 Thread::handle_interrupt block 之外异步处理 ruby​​ 异常吗?

乍一看,我以为新的ruby​​2.0Thread.handle_interrupt会解决我所有的异步中断问题,但除非我弄错了,否则我无法让它做我想做的事(我的问题在最后和标题中)。从文档中,我可以看到如何避免在某个block中接收中断,将它们推迟到另一个block。这是一个示例程序:duration=ARGV.shift.to_it=Thread.newdoThread.handle_interrupt(RuntimeError=>:never)do5.times{putc'-';sleep1}Thread.handle_interrupt(RuntimeError=>:immedia

ruby - Thread#run 和 Thread#wakeup 之间的区别?

在Ruby中,Thread#run和Thread#wakup有什么区别?RDoc指定scheduler不使用Thread#wakeup调用,但这是什么意思?何时使用唤醒与运行的示例?谢谢。编辑:我看到Thread#wakup导致线程变为可运行状态,但如果在执行Thread#run之前它不会执行(无论如何都会唤醒线程),它有什么用?有人可以提供一个示例,其中wakeup做了一些有意义的事情吗?出于好奇=) 最佳答案 这里有一个例子来说明它的含义(来自here的代码示例):线程唤醒thread=Thread.newdoThread.st

Ruby 并发 : non-blocking I/O vs threads

我正在研究Ruby(1.9.3-p0)中的并发性,并创建了一个非常简单的I/O密集型代理任务。首先,我尝试了非阻塞方法:require'rack'require'rack/fiber_pool'require'em-http'require'em-synchrony'require'em-synchrony/em-http'proxy=lambda{|*|result=EM::Synchrony.syncEventMachine::HttpRequest.new('http://google.com').get[200,{},[result.response]]}useRack::Fi

ruby - 什么时候需要将参数传递给 `Thread.new` ?

在线程外部定义的局部变量似乎从内部可见,因此Thread.new的以下两种用法似乎是相同的:a=:fooThread.new{putsa}#=>:fooThread.new(a){|a|putsa}#=>:foodocument举个例子:arr=[]a,b,c=1,2,3Thread.new(a,b,c){|d,e,f|arr[1,2,3]但由于a、b、c在创建的线程内部是可见的,所以这也应该与:arr=[]a,b,c=1,2,3Thread.new{d,e,f=a,b,c;arr[1,2,3]有区别吗?什么时候需要将局部变量作为参数传递给Thread.new?

ruby - Thread.join 阻塞主线程

调用Thread.join会阻塞当前(主)线程。然而,当主线程退出时,不调用join会导致所有生成的线程被杀死。如何在不阻塞主线程的情况下在Ruby中生成持久性子线程?这是连接的典型用法。foriin1..100doputs"Creatingthread#{i}"t=Thread.new(i)do|j|sleep1puts"Thread#{j}done"endt.joinendputs"#{Thread.list.size}threads"这给出了Creatingthread1Thread1doneCreatingthread2Thread2done...1threads但是我正在寻找

system.threading.Timer每天尝试同时制作计时器

我在控制台服务应用中使用system.threading.timer,并尝试每天同时制作计时器。最初,如果我在时间之前启动该应用程序,我会很好。就像我的时间是10:05,我从10:00启动该应用程序,我们很好。但是,如果我从10:06开始,我就不知道如何告诉时间台下24小时。谢谢你的帮助!publicvoidSetUpTimer(TimeSpanalertTime){DateTimecurrent=DateTime.Now;TimeSpantimeToGo=alertTime-current.TimeOfDay;if(timeToGo{EventLog.WriteEntry("MhyApp",

ruby - RSpec: stubbing Kernel::sleep?

有没有办法在rspec场景中stubKernel.sleep? 最佳答案 如果你在一个对象的上下文中调用sleep,你应该把它放在对象上,像这样:classFoodefself.some_methodsleep5endendit"shouldcallsleep"doFoo.stub!(:sleep)Foo.should_receive(:sleep).with(5)Foo.some_methodend关键是,在调用sleep的上下文中将sleep存入任何“self”。 关于ruby-RS

ruby-on-rails - 带 ruby​​ 调试器的 Rails 抛出 'Symbol not found: _ruby_current_thread (LoadError)'

我有标准的ruby​​-head和Rails3.1rc4。我按照http://dirk.net/2010/04/17/ruby-debug-with-ruby-19x-and-rails-3-on-rvm/中的说明安装了ruby​​-debug。但是当我运行railss--debugger时它会抛出这个奇怪的错误/Users/schovi/.rvm/gems/ruby-head/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:237:in`require':dlopen(/Users/schovi/.rvm

javascript - javascript 中的非阻塞 setTimeout 与 ruby​​ 中的 sleep

因此,在javascript中,由于其本质上是事件驱动的,因此setTimeout似乎不会阻塞。这意味着如果我这样做:setTimeout(function(){console.log('sleeping');},10);console.log('printsfirst!!');它将输出'printsfirst!!'然后是'sleeping'。js解释器不会等到setTimeout完成,而是立即执行下面的代码。10ms后,执行回调函数。现在我最近一直在玩ruby。我知道它在事件机器库中有非阻塞支持。但我想知道我们是否可以在没有事件机器支持的情况下实现类似于我刚刚用javascript使

javascript - Processing.js - sleep 、等待、超时、暂停、延迟?

Processing.js有sleep()函数吗?如果不是,在draw()循环中添加延迟的合适替代方法是什么?我在处理中使用JQuery-我可以使用JQuery或Javascript函数在循环中引起sleep类型延迟吗?谢谢! 最佳答案 处理有一个delay()功能,但不幸的是,该功能尚未在Processing.js中实现。不过,您可以将JS(JQuery等)与Processing混合使用。Processing1.9.9现在有一个Javascript模式,并且有处理/DOM集成的示例,例如SelectionFlower.在sketc