EDA365电子论坛网
标题:
Linux ------- Linux Select
[打印本页]
作者:
mytomorrow
时间:
2019-7-31 10:10
标题:
Linux ------- Linux Select
Linux Select
; z* M4 p" i- G1 r6 q
# C1 N2 s8 ]/ G, j6 {3 Z- n- c
9 W" f3 y' N1 H' G: g
在Linux中,我们可以使用select函数实现I/O端口的复用,传递给 select函数的参数会告诉内核:
( T1 M! R* y. ]8 M# K) l3 G, ?4 i
2 H+ J$ ?% P+ R+ O" z+ p$ U
' y r; a0 ^ J" ]& v% T' s
•我们所关心的文件描述符
' F" N/ D- Z0 U, E( O/ U2 f1 {
•对每个描述符,我们所关心的状态。(我们是要想从一个文件描述符中读或者写,还是关注一个描述符中是否出现异常)
( A6 L+ e b6 y$ @, K
•我们要等待多长时间。(我们可以等待无限长的时间,等待固定的一段时间,或者根本就不等待)
2 i" o5 ?* s2 z" k" {
从 select函数返回后,内核告诉我们一下信息:
7 r( H0 M; Z% [% C% E' H. {& Y
•对我们的要求已经做好准备的描述符的个数
7 A8 I: \6 e3 k* C9 p5 R/ U
•对于三种条件哪些描述符已经做好准备.(读,写,异常)
; m2 Q, C1 z# E- n
& O4 ^% d% l( b( i
( U% U* ~) j0 ~7 u
select
+ L6 S) O2 F" t. `" a. Q0 j
+ L" I$ C K/ }6 a& `9 P5 |
& m" C4 f6 t g/ r! o. F
: u' ?0 W2 W' b# f' x6 R
. U" Q4 {" h4 R m/ w: k
O6 i6 A8 e% `* \5 I- n1 F- ]
4 [) L1 V/ Z) B8 }
& \7 }% e: A* M0 A3 B3 A
$ _ O+ n" ~! i1 t' ^9 G& y, u3 ^
7 Y4 }" I/ E, W. F
% d6 o( c9 k( ~! b: x- B
/ r- L9 g8 e" e* d; e
4 h" _( ^6 a4 S" x! E7 `& ?
l0 b+ G. S6 [3 ?/ j
作者:
artic
时间:
2019-7-31 18:16
看看
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2