".. CPU hiện đại có giá rẻ và sẽ xuống cấp nhanh chóng ở mức 100% CPU".
Bạn không phải lo lắng về "sự suy giảm CPU". CPU hiện đại không có chất lượng kém hơn so với thời trước.
Nó rất tốn kém (và sẽ trở nên đắt hơn cứ sau vài năm) để tạo ra CPU, một số tỷ để xây dựng một fab mới không phải là hiếm (xem liên kết).
http://en.wikipedia.org/wiki/S Bán dẫn_fovenation_plant
Chi phí sản xuất của CPU phụ thuộc nhiều nhất vào không. của các đơn vị sản xuất. Đây là một thực tế nổi tiếng trong nền kinh tế. Đó là lý do họ có thể được bán (tương đối) "giá rẻ" sau khi tất cả. (Tôi nghĩ rằng, không có liên kết cần thiết ở đây)
Tôi có thể liệt kê một số lý do tại sao tôi coi các CPU hiện đại có xu hướng có chất lượng hơn so với "thời trước".
Nhưng chỉ quan trọng nhất: Ưu điểm trong thử nghiệm. Thiết bị điện tử hiện đại được "thiết kế để thử nghiệm". Cho dù phần mềm hay phần cứng, cái nhìn sâu sắc về việc định giá các bài kiểm tra đối với hầu hết mọi thứ khác, đều không quá cũ. Đối với CPU, các bài kiểm tra thậm chí được thực hiện để hình thành các loại giá và tần số khác nhau, ví dụ: CPU tốt nhất được bán với tần số cao nhất. Mặc dù vậy, các bộ xử lý rẻ hơn thường có khả năng hoạt động với tần suất cao hơn so với bán - chúng chỉ bị tê liệt vì lý do nhà sản xuất muốn bán một số bộ xử lý "cấp cao" với giá cao hơn.
(Mặt khác, tất nhiên có nhiều lỗi hơn đối với bộ xử lý có hơn 1,5 tỷ bóng bán dẫn như hiện nay so với hàng nghìn bóng bán dẫn của bộ xử lý của những năm bảy mươi. Nhưng điều này không mâu thuẫn với câu trả lời của tôi IMO. có xu hướng có nhiều lỗi đã biết, ít nhất là về vi mã, nhưng đây không phải là chủ đề ở đây.)
Thậm chí còn có nhiều lý do để không lo lắng về sự suy giảm CPU cho chương trình của bạn:
Lý do đầu tiên là CPU hiện đại giảm tần số hoặc bướm ga, nếu chúng đang quá nóng.
Cần phải rõ ràng rằng nếu bạn sử dụng CPU 100% 24/7 cả năm, nó thường sẽ chết sớm hơn CPU chỉ được sử dụng mỗi tuần một giờ một giờ. Nhưng điều đó cũng đúng với xe hơi. Chỉ trong những trường hợp như vậy tôi mới nghĩ về việc sử dụng CPU và tiềm năng ngủ.
Lý do thứ hai là rất khó để viết một chương trình sử dụng 100% CPU từ HĐH, (ví dụ như trong Windows). Bên cạnh đó, CPU hiện đại (thông thường) có ít nhất 2-4 lõi. Vì vậy, một thuật toán truyền thống có xu hướng sử dụng 100% CPU lõi đơn, giờ chỉ còn 50% trên CPU lõi kép (đơn giản hóa nhưng được nhìn thấy trong các tình huống thực tế).
Ngoài ra, hệ điều hành có quyền kiểm soát CPU chứ không phải chương trình của bạn, vì vậy nếu có các ứng dụng khác có cùng mức ưu tiên cao hơn (mặc định là gì), chương trình của bạn chỉ nhận được càng nhiều CPU càng tốt, nhưng các ứng dụng khác sẽ không chết đói. (Tất nhiên đây chỉ là lý thuyết đơn giản hóa và tất nhiên việc đa nhiệm của Windows, Linux và các công cụ khác là không hoàn hảo, nhưng nhìn chung tôi sẽ xem xét điều đó là đúng).
"Trước đây tôi có ấn tượng rằng việc sử dụng CPU 100% là thích hợp hơn cho một hoạt động chuyên sâu hoặc lâu dài .."
Vâng, ở lại với điều này. Nhưng ví dụ, nếu bạn chờ đợi và lặp lại cho một quy trình khác, nói cách khác, không làm gì cả, sẽ không quá tệ nếu bạn Thread.S ngủ () vài mili giây trong vòng lặp đó, dành thêm thời gian cho người khác. Trong khi không cần thiết cho một hệ điều hành đa nhiệm tốt, tôi đã giải quyết một số vấn đề với điều này, ví dụ như đối với Windows 2000. (Điều đó KHÔNG có nghĩa là dĩ nhiên sử dụng chế độ Ngủ () trong tính toán ..