select()僅有的優點就是,對於舊的系統來說具有更好的可移植性。在現實中使用select()的,能體現更好的維護現有的**庫。
select()更第效率;
/* select-vs-poll.c - compares the performance of \codefn and \codefn */
#include
#include
#include
#include
#include
#include
int gotalarm;
void
catch(int sig)
#define high_fd 1000
int main(int argc, const
char ** argv)
printf("select() calls per second: %d\n", count);
pollfds.fd = high_fd;
pollfds.events = pollin;
count = 0;
gotalarm = 0;
alarm(1);
while (!gotalarm)
printf("poll() calls per second: %d\n", count);
return
0;}
上述程式中,select()使用了/dev/zero, 它可以提供無數的零而導致系統立刻返回,可以通過改變high_fd的值來觀察select()效能是如何隨著檔案描述符的值增加而降低的。
當乙個系統上high_fd等於2的時候,程式可在1秒內處理的poll呼叫是select呼叫的四倍;high_fd等於1000的時候,poll的效率就是select的40倍。
linuxc 高階程式設計之檔案操作4
題目要求 1.新建檔案,設定檔案許可權遮蔽字為0 2.建立該檔案的硬鏈結檔案,列印硬鏈結檔案的inode節點號和檔案大小 3.建立該檔案的軟鏈結檔案,列印軟鏈結檔案的inode節點號和檔案大小 列印軟鏈結檔案中的內容 4.列印原始檔的inode節點號,檔案大小和鏈結數目 5.呼叫unlink對原始檔...
Linux常用高階檔案操作命令
cat 檢視文字 cat 檔名 列印檔案內容到當前螢幕上 cat n 檔名 顯示行號 cat a.txt 可以用這種方法修改或者建立檔案 手動輸入文字 繼續輸入 快捷鍵 ctrl d 結束 輸出重定向 覆蓋原來文字內容 輸出重定向 在原來內容基礎上追加 cat a.sh 12345 abcde ct...
mysql4 mysql4 高階操作
一 聯結 使用 where 早 和 join 晚 都可以完成聯結 1.1 從 teacher 表和 profession 表中,查詢出老師的名字和所屬專業的名稱。select t.l name t.f name p.name from teacher as t,profession as p whe...