我剛剛讀到ROR(還沒有潛入它),我聽說它不是線程安全的。顯然,這並不意味着一個人不能一次訪問您的網站,那究竟是什麼意思?線程在ROR中扮演什麼角色?他們只是表示請求處理?你是什麼意思Ruby on Rails不是線程安全的?
6
A
回答
28
您的信息已過時。 它是線程安全作爲2.2.2
記住Ruby MRI 1.8.x,紅寶石的使用最廣泛的實現使用Green Threads,所以用1.8.x的,如果你創建100個線程,他們在同一個CPU上運行的所有。因此,當使用MRI託管Rails網站時,您可能希望儘可能多的Ruby運行實例與您擁有CPUS一樣。像passenger這樣的東西爲你照顧。
這對於JRuby來說是一個很大的問題,因爲JRuby具有Native線程,並且看起來雜亂的進程似乎是多餘的。無論如何,它現在整理出來。
另一方面,Iron Ruby,.Net Ruby解釋器運行本地線程。
注意:Ruby 1.9.1使用本地線程,但仍然存在全局解釋器鎖定。
4
基本上它的意思是你不能在同一個進程下在不同的線程下運行rails的多個副本,因爲它可能會導致一些資源在線程之間泄漏,從而無意中造成奇怪的行爲,比如看起來像是在改變對象/隨機時間消失。
此外,也可能出現這樣的情況,即類沒有內置任何同步,因此很難將部分導軌放入線程中,並讓其他部分在線程中共享。
0
值得一提的是,Ruby MRI 1.8.x使用綠色線程,但Ruby MRI 2將具有本地線程。
相關問題
- 1. 線程安全是什麼意思?
- 2. 線程安全是什麼意思?
- 3. 線程安全的Ruby解釋器是什麼意思?
- 4. 「這個方法不是線程安全的」是什麼意思?
- 5. 這是什麼意思?這意味着Ruby on Rails?
- 6. 這是什麼意思是「不可變的字符串是線程安全的」
- 7. 線程是什麼意思?
- 8. Ruby on Rails中的術語「vendoring」或「to vendor」是什麼意思?
- 9. Ruby on Rails中的「腳手架」是什麼意思?
- 10. ON [PRIMARY]是什麼意思?
- 11. Ruby On Rails - 這些Brakeman警告是什麼意思?
- 12. 在Ruby on Rails視圖模板中「<%_」是什麼意思?
- 13. Ruby on Rails:「equals」符號是什麼意思?
- 14. Ruby on Rails:=>符號是什麼意思?
- 15. 在Ruby on Rails中,「資源」是什麼意思?
- 16. Ruby on Rails這個散列輸出是什麼意思?
- 17. 在iOS中線程安全是什麼意思?
- 18. 彈簧安全鉤是什麼意思?
- 19. Ruby on Rails是不安裝
- 20. 是什麼意思:是什麼意思?
- 21. 你最喜歡的Ruby on Rails書籍是什麼?爲什麼?
- 22. Swift中的'on'是什麼意思?
- 23. 守護線程是什麼意思?
- 24. 「線程轉儲」是什麼意思
- 25. 什麼是Windows 7最快的Ruby on Rails安裝程序?
- 26. Ruby中的「temps.each(&:valid?)」是什麼意思?
- 27. ruby中的「class#method」是什麼意思?
- 28. Ruby中的{{}是什麼意思?
- 29. Ruby中的<>是什麼意思?
- 30. Ruby中的「<< - 」是什麼意思?
其實Ruby 1.9已經有本地線程.. – 2009-07-29 22:16:03