草庐IT

thread_safe

全部标签

ruby-on-rails - 在任何来源中都找不到 safe_yaml-0.9.2

推送到heroku:----->Ruby/Railsappdetected----->UsingRubyversion:ruby-1.9.2----->InstallingdependenciesusingBundlerversion1.3.2Rubyversionchangedetected.Clearingbundlercache.Old:ruby1.9.2p290(2011-07-09revision32553)[x86_64-linux]New:ruby1.9.2p320(2012-04-20revision35421)[x86_64-linux]Running:bundlei

ruby-on-rails - 祖先 gem : return only last child in threads

ancestrygem有很多方法来导航树结构。你可以做Model.roots来显示所有根元素等。如何相反?-为每个树结构返回最新的child。我想过在我的模型中添加一个额外的列(最新/bool值),然后在保存过滤器等之后做一些逻辑。但是这感觉有点笨拙。:/最好的问候。阿斯比约恩莫雷尔 最佳答案 也许你可以用Class#inherited钩子(Hook)来破解一些东西,比如在创建新子类时更新父模型的属性:http://www.ruby-doc.org/core/classes/Class.html#M000177

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

两种方法Thread#runandThread#wakeup不知何故不同,但我不清楚。有人可以提供一对差异最小的代码(即差异仅在一个代码中使用run,在另一个代码中使用wakeup),显示不同的结果,并可能解释是吗?编辑正如Cary指出的那样,它确实是thisquestion的副本,那里有一个很好的答案,但现在我不确定线程​​唤醒但不运行意味着什么。这与处于sleep状态的线程有何不同? 最佳答案 回答你的第二个问题。您不能安排休眠线程,但是当线程处于唤醒状态时,您可以安排它运行,即使它当前没有运行。根据我对唤醒与运行的理解,添加到

ruby-on-rails - 如何在增加预先加载的同时解决此错误? "ERROR ThreadError: Attempt to unlock a mutex which is locked by another thread"

我的Rails应用程序使用inherited_resourcesgem。我目前正在尝试加快它的速度,以便能够处理更大的数据集。因此,我继续(在Bulletgem的帮助下)在证明有用的地方使用预加载。在inherited_resources中它看起来像这样:defcollectionmy_widgets||=end_of_association_chain.includes(:association_one,:association_two,:association_three,:association_four)@widgets=caseparams[:filter]whennilth

ruby-on-rails - 在 RSpec 中使用 Thread.new 测试并发性

我正在尝试围绕并发设置测试。最终目标是测试使用ActiveRecord的服务skipslockedrecordsinPostgreSQL.这在两个控制台中运行良好:#inconsole1queue=MyFancyQueue.firstitem_1=queue.items.firstitem_1.with_lock{sleep30}#locksitem_1for30seconds#inconsole2,whileitem_1islockedqueue=MyFancyQueue.firstqueue.items.first#=>item_1queue.items.lock('FORUPDA

ruby - Thread#raise 在 MRI Ruby 1.9/2.0 中安全吗?

所以有一篇关于Thread#raise、Thread#kill和扩展超时(http://headius.blogspot.com/2008/02/rubys-threadraise-threadkill-timeoutrb.html)的不安全性的旧博客文章。出于大致相同的原因(http://docs.oracle.com/javase/1.4.2/docs/guide/misc/threadPrimitiveDeprecation.html),Java很久以前就弃用了它的等效方法。博文很老了。Thread.raise的现代实现是否安全?如果是这样,是否有文件/promise来证明/证明

ruby 1.9.3-p0 乘客 "Symbol not found: _ruby_current_thread"

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Rails3.1andRuby1.9.3p125:ruby-debug19stillcrasheswith“Symbolnotfound:_ruby_threadptr_data_type”刚刚更新到1.9.3-p0,更新了我所有的gem等等,但我的应用程序仍然无法启动。乘客错误:Errormessage:dlopen(/Users/username/.rvm/gems/ruby-1.9.3-p0/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle,9):

ruby - Jekyll `safe` 标志是什么意思?

Jekylldocumentationforcreatingcustomplugins讨论safe标志。它给出的描述是:safe-AbooleanflagthatinformsJekyllwhetherthispluginmaybesafelyexecutedinanenvironmentwherearbitrarycodeexecutionisnotallowed.我很难理解这个解释。“任意代码”到底是什么意思? 最佳答案 对于核心插件(与Jekyll捆绑在一起),safe:true基本上意味着该插件将被允许在GithubPage

ruby - 在Thread ruby​​中杀死系统进程

我如何在ruby​​线程中终止ping(或其他没有超时等非常长的系统进程)(ping-这只是一个简单的例子):a=Thread.newdosystem'pinglocalhost'enda.killa.exita.terminatewhiletruesleep5pa.alive?end输出:=>PINGlocalhost.localdomain(127.0.0.1)56(84)bytesofdata.64bytesfromlocalhost.localdomain(127.0.0.1):icmp_req=1ttl=64time=0.023ms....true64bytesfromloc

c++ - thread.join() 超时

是否可以为调用std::thread::join()设置超时?我想处理线程运行时间过长或终止线程的情况。我可能会为多个线程执行此操作(例如,最多30个)。最好没有提升,但如果这是最好的方法,我会对提升解决方案感兴趣。 最佳答案 std::thread::join()没有超时。但是,您可以将std::thread::join()仅仅视为一个便利功能。使用condition_variable,您可以在线程之间创建非常丰富的通信和协作,包括定时等待。例如:#include#include#includeintthread_count=0;