Ниже мои заметки (именно заметки, без претензии на пост) по тематике обозначенной выше - тезисно. Похоже все согласны с тем что хорошие примеры concurency done right - это продукты вроде Erlang и Scala. Версии Ruby и поддержка concurrency: JRuby 1.6+ (true concurrency via JVM) Ruby MRI 1.9.3 (native threads, GIL, примитивы - Thread, Fiber, Actor, GIL из-за This decision maybe makes us happy because we can run most of the extensions written in C without any modifications - т.е. видимо эти C-extensions are not thread safe. Обещали Multi-VM в YARV для победы над GIL) Rubinius 2.0+ (true concurrency, no GIL, fine grained locks, примитивы - те же что и у MRI 1.9.3) Concurrency models: Thread - тут все более менее понятно Fiber - cooperative scheduling, если один фибер закончил работу передает управление следующему Reactor pattern - IOC, сложнее для понимания, представлен в виде библиотек http://rubyeventmachine.com/ ( libevent ), https://githu...
adventures in the software development lands, since 2006