在JRuby 1.7中使用Timeout :: timeout是否安全?

时间:2013-10-10 16:54:22

标签: jruby net-http

我已阅读this post about how inherently unsafe ruby's timeout method is,但我看起来JRuby原生实现了Timeout类,我想知道这些问题是否仍然与JRuby 1.7相关?从我可以从the source解读,看起来有一个可重用的线程池被使用,因此应该解决很多性能问题,为每次使用启动一个新线程,但我想知道安全问题,特别是在Net :: HTTP中广泛使用时。现在有什么样的互斥锁可以解决这些安全问题吗? (抱歉,我不太了解java,无法从源头上确切地说出来。)

长问题简介:是超时::超时,还是通过扩展Net :: HTTP使用它在JRuby 1.7中使用它,安全且高性能?

1 个答案:

答案 0 :(得分:1)

是的,一般来说仍然不安全:

  

没有超时库可以解决这个问题,除非他们能够保证它们永远不会在任何确保块中触发

虽然,当在Net :: HTTP中使用没有任何保证块的代码时,它应该可以正常我猜。 (虽然他们应该使用非阻塞io并选择)