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. node.js - 单进程还是多进程?
- 2. 主线程是前台线程还是后台线程?
- 3. Android服务是一个进程还是线程?
- 4. 多线程或线程进程
- 5. 执行多线程进程
- 6. Grails和多线程进程
- 7. 线程安全多进程
- 8. SpringMVC是在单线程模型还是多线程模型上工作?
- 9. Windows,多进程vs多线程
- 10. 从多进程到多线程
- 11. Arduino Uno,多进程,多线程
- 12. 多线程程序和os进程
- 13. Python - 我应该使用线程还是进程进行网络活动?
- 14. 它是多线程时的进程状态是什么?
- 15. 是nice()用来改变线程优先级还是进程优先级?
- 16. 是OnTangoImageAvailableEventHandler()多线程?
- 17. Ruby线程问题还是无线程问题?
- 18. 多线程和进程信令
- 19. 多线程vs创建子进程
- 20. 具有多线程的Java单进程
- 21. parallel.for或task.startnew在多线程进程
- 22. 多线程使进程更慢
- 23. 多线程MPI进程突然终止
- 24. 在Python中记录多线程进程
- 25. Python多进程/线程循环。
- 26. 多线程挤出其他进程
- 27. setitimer,SIGALRM和多线程进程(linux,c)
- 28. PEM_write_X509(x509 *)和多线程进程崩溃
- 29. 守护进程线程是否也是守护进程线程启动的线程?
- 30. Java线程,绿色还是本地?
林不知道该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