나는 루비를 수시로 해킹 해왔다.하지만 크거나 멀티 쓰레딩 된 것이 없다. MRI는 녹색 스레드 만 지원하고 JRuby는 JVM을 통해 원시 스레드를 지원한다고 들었습니다. 그러나 "Rails는 스레드로부터 안전하지 못하다"거나 Ruby 자체는 스레드로부터 안전하지 않다고 말하는 블로그 및 토론 그룹에 대한 의견은 비틀 거립니다. 예를 들어 누군가 require 문에 문제가 있다고 주석을 달았습니다. 그것은 약간 근본적으로 들린다.Ruby/Rails 스레드 안전성
나는 제대로 동시성을 처리하지 않는 자바 애플리케이션을 많이 보았다 나는 시간에서 시간 :-)에 그러나 적어도 당신에게 할 수있는 자바 쓰기 스레드 안전 응용 프로그램을 사용하면 경우 정말 그들에 대한 악몽이 당신이하고있는 일을 안다.
이 모든 것이 상당히 놀랍습니다. 누군가가 더 자세히 설명 할 수 있습니까? 정확하게 문제가 무엇인지, 그리고 레일즈가이 경우에 어떻게 작동합니까? 경쟁 조건이나 교착 상태없이 올바르게 작동하는 다중 스레드 루비 코드를 작성할 수 있습니까? JRuby와 MRI간에 이식성이 있습니까? 아니면 JVM 고유 스레드를 제대로 활용하려면 JVM 관련 코드를 해킹해야합니까?
편집 : 사람들이 네이티브 스레딩 대 (그 자체로 좋은) 물건과 녹색 스레딩 스레딩 레일에 대답하는 것 때문에 나는이 두 가지 질문을해야
. thread safety에 관한 핵심 Ruby 문제에 대한 내 관심사는 실제로 다루어지지 않았습니다. 경우에 따라 필요 이상으로 (해결되지 않은?) issue이있는 것으로 보입니다.
중복 : http://stackoverflow.com/questions/129226/what-are-the-current-state-of-affairs-on-threading-concurrency-and-forked-proces/129331#129331 –