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