簡體   English   中英

如何減少AC應用中的CPU使用率?

[英]How to reduce cpu usage in a c application?

我正在嘗試做一個簡單的服務器應用程序,所以我需要循環直到沒有連接然后再循環,等等...但是當我這樣做時,我得到了50-100%的cpu使用率,而我正在使用互斥體和條件,有什么辦法可以避免在C中使用posix線程(pthreads)? 如果是這樣,請您舉個例子嗎?

沒有看到您的代碼,很難回答,但是聽起來您正在使用忙等待 用偽代碼:忙等待:

while (no connection) {
    check connection;
}

更好:

while (no connection) {
    sleep(100);
    check connection;
}

您正在做的事情被稱為繁忙等待。這不是一個好主意。 如果您正在等待套接字事件,請改用select函數。

繁忙的等待永遠不是一個好的解決方案。 如果使用select,則當給定文件描述符(或套接字)上發生事件時,將喚醒程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM