Tôi đã từng hack với Ruby theo thời gian, nhưng tôi đã không làm bất cứ điều gì lớn hoặc đa luồng với nó. Tôi đã nghe nói rằng MRI chỉ hỗ trợ chủ đề màu xanh lá cây và JRuby hỗ trợ chủ đề bản địa thông qua JVM. Tuy nhiên, tôi vấp ngã khi nhận xét trên blog và các nhóm thảo luận nói rằng "Rails không phải là chủ đề an toàn" hoặc bản thân Ruby không phải là chủ đề an toàn. Ví dụ, ai đó đã nhận xét rằng có sự cố với câu lệnh yêu cầu. Nghe có vẻ hơi cơ bản.Ruby/Rails an toàn chủ đề
Tôi đã thấy nhiều ứng dụng Java không xử lý đồng thời đúng cách và đôi khi tôi gặp ác mộng về chúng :-) Nhưng ít nhất bạn có thể viết các ứng dụng an toàn trong Java nếu bạn thực sự biết bạn đang làm gì (nó không dễ dàng).
Tất cả điều này nghe khá đáng báo động, ai đó có thể giải thích thêm - vấn đề chính xác là gì và Rails quản lý hoạt động như thế nào nếu đây là trường hợp? Tôi có thể viết mã Ruby đa luồng hoạt động chính xác mà không có điều kiện chủng tộc và deadlocks không? Là nó di động giữa JRuby và MRI hay tôi phải hack trong mã JVM cụ thể để tận dụng lợi thế của các chủ đề bản địa JVM đúng cách?
EDIT:
tôi nên đã hỏi hai câu hỏi, bởi vì mọi người dường như chỉ để trả lời các đường ray luồng thứ (đó là tốt đẹp trong chính nó) và luồng xanh vs luồng bản địa. Mối quan tâm của tôi về các vấn đề cốt lõi của Ruby về chủ đề an toàn chưa thực sự được giải quyết. Dường như có ít nhất một (chưa được giải quyết?) issue với yêu cầu trong một số trường hợp nhất định.
Trùng lặp: http://stackoverflow.com/questions/129226/what-are-the-current-state-of-affairs-on-threading-concurrency-and-forked-proces/129331#129331 –