当前位置: 技术问答>linux和unix
select() 的超时设置
来源: 互联网 发布时间:2016-09-23
本文导语: 本帖最后由 sfd1234 于 2010-09-02 17:15:34 编辑 使用select()函数时,设置超时时间为0和有微小的超时时间,对通信有没有什么影响? 我自己使用的是一个小例子测试的,似乎没有什么影响,但是不敢肯定,期待高人确认;...
我自己使用的是一个小例子测试的,似乎没有什么影响,但是不敢肯定,期待高人确认;如果有影响,会是什么样的影响?需要注意什么?
谢谢!
|
对通信没有影响, 但对程序性能会有很大影响。
相当于:
for (;;);
和
for (;;) usleep(1);
的差别。 前者可能程序运行时占99%的cpu, 后者几乎不占cpu.
相当于:
for (;;);
和
for (;;) usleep(1);
的差别。 前者可能程序运行时占99%的cpu, 后者几乎不占cpu.
|
注意:在linux系统中,select容易被其它信号打断,检查一下select的返回值,是否正常返回,或者时超时返回。select对通信基本没什么影响。
|
超时时间设置为0,那就相当于非阻塞方式了吧
|
错误也是由应用程序自身引起的,本来连接里面有数据,你超时了,不去读..
|
学习ing!