Tôi đang tìm kiếm một ví dụ trực tuyến thể hiện một bộ đếm thời gian bằng ruby và đi qua đoạn mã bên dưới. Nó hoạt động như mong đợi nhưng nó có ý nghĩa rằng chương trình đơn giản này sử dụng 30Mo bộ nhớ (như được hiển thị trong cửa sổ công việc quản lý) và cách quá nhiều CPU?Timer trong hiệu suất Ruby
Thanks a lot
def time_block
start_time = Time.now
Thread.new { yield }
Time.now - start_time
end
def repeat_every(seconds)
while true do
time_spent = time_block { yield } # To handle -ve sleep interaval
sleep(seconds - time_spent) if time_spent < seconds
end
end
repeat_every(5) {
}
Tôi không thể tưởng tượng mã đó có ý nghĩa như thế nào ... Chủ đề không bao giờ tham gia, vì vậy time_spent sẽ luôn là 0 và vòng lặp chỉ chồng lên luồng chạy song song nếu khối lượng công việc mất hơn 5 giây. – hurikhan77
Cảm ơn hurikhan77, bạn có nhớ chỉ cho tôi một tài liệu hoặc một cuốn sách về chủ đề vì vậy tôi không phải đặt câu hỏi ngu ngốc;)? – Elsanto
http://ruby-doc.org/docs/ProgrammingRuby/html/tut_threads.html –