Bir Klavye kesme beklemek ve bazıları çok dişli bir ortamda çıkışında önce işlemi temizlemek için daha sonra izin vermek için bir döngü kullanıyorum.`döngü {}` döngü {uyku 1} `karşı`
begin
loop {}
rescue Interrupt
p "Ctr-C Pressed..Cleaning Up & Shutting Down"
loop do
break if exit_bool.false?
end
exit 130
end
Bu kod parçası ana iş parçacığında çalışır. Birkaç dosya ve DB ops gerçekleştiren birden çok iş parçacığı vardır. exit_bool
bazı operasyonun tam ortasında olduğunu tanımlamak için diğer parçacıkları tarafından belirlenen bir atom var olduğunu. Ben değeri için kontrol ve false
ve ardından çıkış açılana kadar bekleyin.
loop{}
'un maliyetinin loop{sleep x}
'un aksine ne olduğunu merak ediyorum. yüksek bir CPU kullanımı (~% 100) 'de