Java教程

系统编程高级IO(2)

本文主要是介绍系统编程高级IO(2),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

设置阻塞和非阻塞,封装成函数


num的读设置为非阻塞,num1的读设置为阻塞。

输入45,就直接输入到num1上啦。

想要输入num方法一:


select函数的基本操作

select与sleep的区别是,select只要在规定时间内把数据输入,则可以直接进行下一步操作,而sleep接收到数据输入后,还需要把剩余的sleep设定好的时间等待完,才进行下一步操作

 

1.先设置一个fd_set rdfds

2.再用FD_ZERO将rdfds清空

3.再将0的文件描述符放入rdfds中

4.用struct timeval tv将最长等待时间的时间设置好,tv_sec是秒级别设置,tv_usec是纳秒级别设置

5.time小于0代表select出错

6.time大于0代表select成功

7.time等于0代表select运行超时

如果在两秒内没有输入任何值,则输出timeout,在两秒内输入了12则输出12


poll的使用方法:

 

 

输入3后,马上返回3

 

这篇关于系统编程高级IO(2)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!