JRuby 附带的Net::HTTP
与MRI Ruby附带的{/ 1>相同/类似。
有没有人知道这个实现是否是线程安全的(以及你怎么知道)。
我唯一的证据是net-http-persistent库的存在,它声称是一个使用Net::HTTP
的线程安全库。
检查Net::HTTP
的来源并未发现任何明显的共享状态。
任何人都有更多信息?
答案 0 :(得分:1)
取决于线程安全的含义。 Net :: HTTP使用TimeOut,它通常被认为是破坏的,因为它使用了Thread#raise和thread#kill。 看这里... http://blog.headius.com/2008/02/rubys-threadraise-threadkill-timeoutrb.html
答案 1 :(得分:0)
我不能说Net :: HTTP,但并不是所有JRuby的代码都是线程安全的。例如,Data safety and GIL removal表明Array不是线程安全的。这也在JRuby wiki上说明。