3
Q
线程还是多进程?
A
回答
3
“效率”可能意味着很多事情。对于Ruby < 1.9,green threads意味着您不会像线程那样获得尽可能多的并发性,因此使用多个脚本实例将是从开始到结束最小化总实时性的最佳方式。
至于创建它们,这里是T“并行”下载页面he Pickaxe book例如:
require 'net/http'
pages = %w(www.rubycentral.com
www.awl.com
www.pragmaticprogrammer.com
)
threads = []
for page in pages
threads << Thread.new(page) { |myPage|
h = Net::HTTP.new(myPage, 80)
puts "Fetching: #{myPage}"
resp, data = h.get('/', nil)
puts "Got #{myPage}: #{resp.message}"
}
end
threads.each { |aThread| aThread.join }
相关问题
- 1. 是Scrapy单线程还是多线程?
- 2. node.js - 单进程还是多进程?
- 3. 主线程是前台线程还是后台线程?
- 4. NodeJS - 是libuv线程池全局还是每个进程?
- 5. Android服务是一个进程还是线程?
- 6. C99 fesetround()/ fegetround()状态是每个线程还是每个进程?
- 7. Python多进程而不是线程?
- 8. 多线程或线程进程
- 9. 执行多线程进程
- 10. 线程安全多进程
- 11. Grails和多线程进程
- 12. 我还需要多线程还是已经过时了?
- 13. SpringMVC是在单线程模型还是多线程模型上工作?
- 14. 有关redis工作的冲突:Redis是单线程还是多线程?
- 15. 从多进程到多线程
- 16. Arduino Uno,多进程,多线程
- 17. 多线程/多进程窗口服务
- 18. Windows,多进程vs多线程
- 19. Android,Handler是在主线程还是其他线程中运行?
- 20. Python - 我应该使用线程还是进程进行网络活动?
- 21. 多线程程序和os进程
- 22. java如何处理多线程?比进程更多的线程
- 23. 是Tcl的线程多进程/多核心
- 24. 是nice()用来改变线程优先级还是进程优先级?
- 25. 它是多线程时的进程状态是什么?
- 26. 异步调用的核心是python线程还是多处理?
- 27. 线程在java中还活着多久?
- 28. 是OnTangoImageAvailableEventHandler()多线程?
- 29. 是CefSharp多线程?
- 30. 多线程跟踪进度
林不知道该threads.each是什么进行到底。 – gpwu 2009-10-27 02:06:21
它一直等到线程完成,所以(a)你可以安全地使用结果,(b)如果你有线程做重要的事情,你不想退出。 (他们在内核#出口处发出噗噗声。) – DigitalRoss 2009-10-27 02:32:33
即使使用YARV 1.9中的原生线程,您仍然会遇到全局解释器锁定,这意味着您所获得的只是并发性,而没有并行性。 线程和手动分离进程的另一种替代方法是使用'fork',如果你的系统支持的话。 – 2011-11-07 02:18:05