Является ли Ruby's Net :: HTTP потокобезопасным на JRuby - PullRequest
3 голосов
/ 11 ноября 2011

Net::HTTP, который поставляется с JRuby , выглядит таким же / похожим на тот, который поставляется с MRI Ruby.

Кто-нибудь знает, является ли эта реализация поточно-ориентированной (и, как вы знаете).

Моим единственным доказательством является существование библиотеки net-http-persistent , которая претендует на то, что является поточно-ориентированной библиотекой, использующей Net::HTTP.

Изучение источника для Net::HTTP не выявляет очевидного общего состояния.

У кого-нибудь есть еще информация?

Ответы [ 2 ]

1 голос
/ 22 ноября 2011

Зависит от того, что вы подразумеваете под безопасным потоком.Net :: HTTP использует TimeOut, который обычно считается сломанным из-за того, что он использует Thread # yield и thread # kill.Смотри здесь ... http://blog.headius.com/2008/02/rubys-threadraise-threadkill-timeoutrb.html

0 голосов
/ 11 ноября 2011

Я не могу говорить по Net :: HTTP, но не весь код JRuby является поточно-ориентированным.Например, Безопасность данных и удаление GIL показывают, что массив не является потокобезопасным.Об этом также говорится в JRuby wiki .

...