0

以下代码在 Ruby 1.9.3p194 (2012-04-20) [i386-mingw32] 中不会超时:

require 'timeout'
Timeout.timeout(1) { gets }

我希望它能够工作,因为 Ruby 1.9 使用本机线程。这是预期的(或记录的)行为还是错误?在文档中Timeout没有提到任何限制 wrt。阻塞 IO 什么的。

(根据评论,这似乎只是 Windows 版本的问题。)

4

1 回答 1

0

这是当前 Ruby 1.9.3 for Windows 的一个错误,已在主干中修复。该修复已被移植到 1.9.3:http ://bugs.ruby-lang.org/issues/6661 。

于 2012-06-28T11:45:00.920 回答