select函式 實現三使用者簡單通訊

2021-06-28 12:49:16 字數 1098 閱讀 3821

select函式可以使我們在程式中同時監聽多個檔案描述符的讀寫狀態。程式會停在

select

這裡等待,知道被監視的檔案描述符中某乙個或多個發生了狀態改變,

select

()機制中提供一

fd_set

的資料結構,實際上是一

long

型別的陣列,每乙個陣列元素能與一開啟的檔案描述符建立聯絡(不管是

socket

描述符,還是其他檔案或命名管道或裝置描述符)。當呼叫

select

時,由核心根據

io狀態修改

fd_set

的內容,由此來通知執行了

select

的程序哪一

socket

或檔案可讀。

實現三使用者簡單通訊:

使用者一:

使用者二:

使用者三:

select函式用法簡單總結

在linux中我們可以通過man 函式名,命令檢視linux程式設計手冊從而檢視乙個函式的具體用法。select函式原型為 int select int nfds,fd set readfds,fd set writefds,fd set exceptfds,struct timeval timeo...

Select函式實現原理分析

select 函式實現原理分析 select需要驅動程式的支援,驅動程式實現fops內的poll函式。select通過每個裝置檔案對應的poll函式提供的資訊判斷當前是否有資源可用 如可讀或寫 如果有的話則返回可用資源的檔案描述符個數,沒有的話則睡眠,等待有資源變為可用時再被喚醒繼續執行。下面我們分...

select 函式用法三之poll函式

poll是linux中的字元裝置驅動中有乙個函式,linux 2.5.44版本後被epoll取代,作用是把當前的檔案指標掛到等待佇列,和select實現功能差不多。poll 函式 這個函式是某些unix系統提供的用於執行與select 函式同等功能的函式,下面是這個函式的宣告 include int...