Nó phụ thuộc vào những gì bạn muốn làm bên trong vòng lặp này.
Nếu bạn đang chờ đợi bên trong vòng lặp (ví dụ: nếu nhấn phím {do something} thì cơ chế của bạn sẽ lãng phí tài nguyên hệ thống không trả lại gì. Một bộ xử lý nhanh hơn sẽ chỉ tạo ra nhiều vòng không hoạt động hơn. chỉ cần ngủ, nhưng tốt hơn là một sự kiện kích hoạt một cái gì đó có ý nghĩa có thể được thực hiện.Ví dụ, một hoạt động tập tin (stdin cũng là một tập tin) sẽ là một cơ chế di động. cụ thể hơn, nó có thể được yêu cầu để nhảy vào các semaphores hoặc các tín hiệu mà thường phụ thuộc vào hệ điều hành.Một lớp trừu tượng có thể giải quyết vấn đề này
Nếu bạn đang làm một cái gì đó hữu ích (tức là xử lý nhiều dữ liệu), sau đó tải 100% CPU có nghĩa là bộ vi xử lý là chúng ta ed theo cách hiệu quả nhất. Bạn có thể dựa vào hệ điều hành để nhường chỗ cho các nhiệm vụ ưu tiên khác và có thể cao hơn.
Sử dụng chức năng như chế độ ngủ sẽ giảm mức sử dụng CPU, nhưng ứng dụng của bạn sẽ chậm hơn. Nó sẽ yêu cầu để có được một sự cân bằng giữa hiệu suất chấp nhận được và tải CPU. Tốc độ thực thi tối đa sẽ được xác định bởi tham số giấc ngủ của bạn và không còn bởi tốc độ CPU. Ngoài ra, nếu điện là một mối quan tâm (tức là thời gian sử dụng pin), thì điều này sẽ yêu cầu cpu để đánh thức (kết thúc thời gian ngủ) mà không có công việc phải làm; tức là một sự lãng phí tài nguyên hệ thống khác nhau.
Bạn nên sử dụng đối tượng đồng bộ hóa, một đối tượng mà bạn có thể đợi cho đến khi nó được báo hiệu, theo cách đó bạn sẽ không tiêu thụ CPU chút nào. –
'DONE' là gì và điều gì sẽ khiến nó không khác? Có lẽ nó có ý nghĩa để tiếp tục xử lý cho đến khi 'kiểm tra các công cụ' đánh giá một cái gì đó mà đặt DONE là khác không? –
Lasse V. Karlsen: Giải pháp của bạn có vẻ hợp lý (có thể nó có ý nghĩa rất nhiều, nhưng tôi không có kiến thức đó). Bạn có thể vui lòng xây dựng? Tôi có nên điều tra chủ đề không? (ví dụ sẽ là tốt đẹp) Charles Bailey: XONG phải là một int (được thực hiện thay vì XONG) và nó sẽ được đặt thành 1 khi người dùng chọn thoát khỏi ứng dụng, chẳng hạn. Tôi xin lỗi nếu tôi không thể giải thích cho bản thân mình đủ tốt. – pwseo