Huntsmen 发表于 2013-09-10 23:27

关于poll/select的一点疑问

对于poll有几个疑问,列了下面3个场景,请了解的帮忙解答一下,多谢多谢

场景1
poll/select这些的应用场景应该是针对多路io的,对于只有1路io的,比不要poll的多了一次system call,效率反而更低,不知道理解是否正确?
while(1)
{
poll(1路阻塞I/O);
read(1路阻塞I/O);
}


场景2
如果我有2路io,都是非阻塞的,下面这个流程,当没有数据的时候,进程是阻塞在poll上,还是在不停的做while循环?
while(1)
{
poll(2路非阻塞I/O);
read(2路非阻塞I/O);
}

场景3
如果我有2路io,1路阻塞+1路非阻塞,下面这个流程,当没有数据的时候,进程是阻塞在poll上,还是阻塞在read上?还是在不停的做while循环?
while(1)
{
poll(1路阻塞+1路非阻塞的);
read();
}
页: [1]
查看完整版本: 关于poll/select的一点疑问