2010-01-27 9 views
5

रूबी में, मुझे मिली सेकंड के बाद कोड के ब्लॉक के निष्पादन को समय निकालना होगा। मुझे पता है कि रूबी समय समाप्त पुस्तकालय सेकंड में समय समाप्ति का समर्थन करता है:रुबी टाइमआउट एन * मिली * सेकंड

http://ruby-doc.org/stdlib/libdoc/timeout/rdoc/index.html

यह संभव है?

+1

मुझे आश्चर्य है कि क्या होगा यदि आप बस उस विधि में दशमलव पारित करते हैं तो क्या होगा। –

+1

दशमलव के अनुसार, क्रेग का अर्थ है: 0.010, 0.5, आदि –

+3

यदि आप टाइमआउट के स्रोत को देखते हैं तो आप देखेंगे कि यह केवल कर्नेल # नींद के लिए तर्क को पास करता है, जो एक दशमलव लेगा: "वर्तमान थ्रेड को अवधि के लिए निलंबित करता है सेकंड (जो किसी भी संख्या में हो सकता है, जिसमें आंशिक सेकंड के साथ फ़्लोट भी शामिल है)। " तो इसे एक दशमलव गुजरना चाहिए काम करना चाहिए। –

उत्तर

9

बस टाइमआउट के लिए दशमलव मान का उपयोग करें। एन मिलीसेकंड के लिए उदाहरण:

Timeout::timeout(n/1000.0) { sleep(100) }