loop do # Program loop items = get_items threads = [] for item in items threads << Thread.new(item) do |i| # do work on i end threads.each { |t| t.join } # What happens if this isn't there? endend
我的偏好是跳过加入线程而不是阻止整个应用程序.但是我不知道这是什么长期影响,特别是因为代码几乎立即再次运行.这是安全的吗?或者是否有更好的方法来生成一个线程,让它工作,并在它完成时清理,所有这些都在一个无限循环中?
解决方法 我认为这实际上取决于你的线程工作的内容.例如,如果您的主线程需要打印“X work done”,您需要加入以确保您显示正确的答案.如果您没有这样的要求,那么您不一定需要加入. 总结以上是内存溢出为你收集整理的ruby – 当你不加入你的主题时会发生什么?全部内容,希望文章能够帮你解决ruby – 当你不加入你的主题时会发生什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)