Использование Puma и JRuby без потокобезопасного приложения Rails

Я создал свое приложение с использованием MRI, не принимая во внимание потоки или параллелизм, поэтому приложение определенно не является потокобезопасным (многие зависимости, конечно, нет). Мой вопрос: могу ли я по-прежнему портировать это на JRuby и использовать Puma без использования config.threadsafe! и все еще видите улучшения?


person Damien Roche    schedule 06.08.2013    source источник


Ответы (1)


Да, вы можете. «Среда выполнения JRuby сама по себе считается потокобезопасной. Из Java вы можете безопасно использовать единую среду выполнения для нескольких потоков, при условии, что код в этих потоках не является небезопасным для потоков. Потокобезопасность не означает, что ваш код всегда будет работать правильно; вам все равно часто придется следить за тем, чтобы потоки не наступали на модификации друг друга».

person Rajarshi Das    schedule 06.08.2013
comment
при условии, что код в этих потоках не делает поток небезопасным - это моя проблема. Зависимости gem могут выполнять любое количество вещей, которые не являются потокобезопасными. - person Damien Roche; 06.08.2013