मैं कीबोर्ड इंटरप्ट पर प्रतीक्षा करने के लिए लूप का उपयोग कर रहा हूं और फिर एक बहु थ्रेडेड वातावरण में बाहर निकलने से पहले कुछ साफ अप ऑपरेशन की अनुमति देता हूं।`लूप {} 'बनाम' लूप {नींद 1}`
begin
loop {}
rescue Interrupt
p "Ctr-C Pressed..Cleaning Up & Shutting Down"
loop do
break if exit_bool.false?
end
exit 130
end
कोड का यह टुकड़ा मुख्य धागे में चलता है। कई फाइलें और डीबी ओप करने वाले कई धागे हैं। exit_bool
अन्य धागे द्वारा एक परमाणु var सेट है यह इंगित करने के लिए कि वे कुछ ऑपरेशन के बीच में हैं। मैं मूल्य की जांच करता हूं और प्रतीक्षा करता हूं जब तक यह false
चालू न हो और फिर बाहर निकलें।
मुझे आश्चर्य है कि loop{}
की लागत loop{sleep x}
के विपरीत है।