Tôi đang sử dụng vòng lặp để chờ ngắt bàn phím và sau đó cho phép hoạt động dọn dẹp trước khi thoát trong môi trường nhiều luồng.`loop {}` so với `vòng lặp {ngủ 1}`
begin
loop {}
rescue Interrupt
p "Ctr-C Pressed..Cleaning Up & Shutting Down"
loop do
break if exit_bool.false?
end
exit 130
end
Đoạn mã này chạy trong chuỗi chính. Có nhiều chủ đề thực hiện một số tập tin và DB ops. exit_bool
là một tập hợp nguyên tử var bởi các chủ đề khác để cho biết chúng đang ở giữa một số hoạt động. Tôi kiểm tra giá trị và đợi cho đến khi nó biến thành false
và sau đó thoát.
Tôi tự hỏi chi phí của loop{}
là trái ngược với loop{sleep x}
.