日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

form select multiple 某个字段是数组_你知道什么是Select函数吗?

發布時間:2025/5/22 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 form select multiple 某个字段是数组_你知道什么是Select函数吗? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Select函數:允許進程指示內核等待多個事件中的任何一個發生,并只在有一個或多個事件發生或經歷一段指定的時間后才喚醒它。

select man手冊

舉個栗子,我們可以調用Select,告訴內核僅僅在下列情況發生時才返回:

  • 集合{1,4,5}中任何描述符準備好讀集合{2,7}中任何描述符準備好寫集合{1,4}中任何描述符由異常條件待處理已經經歷了10秒

我們調用Select告訴內核對哪些描述符感興趣以及等待多長時間。

/* According to POSIX.1-2001 */ #include /* According to earlier standards */ #include #include #include int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);

int nfds 指定待測試的描述符個數,它應該被設置為待測試的最大數目+1。fd_set通常支持的最大描述符是1023+1。

如何設置下面3個參數中的每個參數指定一個還是多個描述符值是一個設計上的問題。select采用描述符集,通常是一個整數數組,其中每個整數中的每一位對應一個描述符。

舉個栗子:假設使用32位整數,那么該數組的每一個元素對應于描述符0-31,第二個元素對應于描述符32-63,以此類推。

#include /* According to earlier standards */ #include #include #include void FD_CLR(int fd, fd_set *set); int FD_ISSET(int fd, fd_set *set); void FD_SET(int fd, fd_set *set); void FD_ZERO(fd_set *set);

我們可以分配一個fd_set數據類型的描述符集,并用這些宏設置或測試該集合中的每一位。

舉個栗子:我們定義一個fd_set類型的變量,然后打開描述符1、4、5對應的位。

fd_set rset;FD_ZERO(&rset);FD_SET(1,&rset);FD_SET(4,&rset);FD_SET(5,&rset);

如果對readset、writeset、exceptset中的某一個條件不感興趣,我們可以把它設置為空指針。

fd_set *readfds 指定讓內核測試讀條件的描述符fd_set *writefds 指定讓內核測試寫條件的描述符

  • fd_set *exceptfds 指定讓內核測試異常條件的描述符

目前支持的異常條件:

某個套接字的帶外數據到達。某個已設置為分組模式的偽終端存在可從其主端讀取的控制狀態信息。

  • struct timeval *timeout
struct timeval { long tv_sec; /* seconds */ long tv_usec; /* microseconds */};

把該參數設置為NULL,阻塞,僅在有一個描述符準備好IO時才返回。tv_sec != 0 || tv_usec != 0 ,超時返回,或在有一個描述符準備好IO時返回。tv_sec == 0 || tv_usec == 0 ,立即返回,這稱為輪訓。

select函數修改由指針readset,writeset,exceptset所指向的描述符集,這3個參數都是值-結果參數。調用的時候,我們指定所關心的描述符值。返回的時候,結果將指示這些描述符已經就緒。函數返回后,我們使用FD_ISSET宏測試fd_set數據類型中的描述符。

小測試:

總結

以上是生活随笔為你收集整理的form select multiple 某个字段是数组_你知道什么是Select函数吗?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。