亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問關于select()函數是怎樣運行的?

請問關于select()函數是怎樣運行的?

桃花長相依 2019-07-09 16:07:34
select()函數是怎樣運行的
查看完整描述

5 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

select的目的: 我想你應該知道,recv,read,scanf這類函數是阻塞函數,也就是說沒有得到數據是不會返回的,這就造成了一個問題,程序執行到這些函數里面的時候就一直等待,而這個時候如果要有其他的操作根本得不到響應。select函數就是為了解決

查看完整回答
反對 回復 2019-07-14
?
慕田峪9158850

TA貢獻1794條經驗 獲得超7個贊

SELECT( ) ——是測試工作區函數;
SELECT(3):意思是返回當前的工作區號,至于SELECT(3)的返回值為0,你再仔細看下題
你只寫select(3)的返回值怎么是0,我也無法準確解釋

查看完整回答
反對 回復 2019-07-14
?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

int select (int maxfdp1, fd_set *readset, fd_set *writeset,   fd_set *exceptset, const struct timeval * timeout);   Return >0:就緒描述字的正數目   -1:出錯   0 :超時   struct timeval{   long tv_sec; // seconds   long tv_usec; // microseconds   }   1. 永遠等下去:僅在有一個描述字準備好I/O時返回。置為NULL   2. 等待一段固定時間:在有一個描述字準備好I/O時返回,但不超過由該參數所指向的timeval結構中指定的秒數和微秒數。   3. 不等待:檢查完描述字后立即返回,稱之為輪詢(polling)。該參數必須指向一共timeval結構,其中的定時器值為0(秒數和微秒數)。   readset writeset exceptset指定我們要讓內核測試讀、寫和異常條件的描述字。如果對某一個的條件不感興趣,就可以把它設為NULL。如果三個指針都為NULL,我們就有了一個比sleep()函數更為精確的定時器(sleep()以秒為最小單位,這個以微妙為單位)。

查看完整回答
反對 回復 2019-07-14
  • 5 回答
  • 0 關注
  • 699 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號