作者ggg12345 (ggg)
看板CSSE
标题Re: [问题] I/O structure的问题
时间Sun Apr 5 07:03:41 2009
: : 另一个问题是 non-blocking I/O 是 Asynchronous I/O的一种吗?
: Asynchronous I/O method 就是通称的 non-blocking I/O
在 UNIX 系统 system call 里, 有所谓 nonblocking read(), 指
的是此 system call 会到 buffer 读进资料到指定位址, 呼叫的结
果是立即还回, 有多少byte, 就带回多少. 若无资料, 指示值可以为
零. 另一个是通常用於网路的 select() system call, 是检视有无
资料已经进来, 带有一个参数指明检视将等候的时间, 若设为 0 就
相当於要立即还回, 但 select() 只负责检视.
Asynchronous I/O system call 跟 nonblocking I/O system call
都是立即还回, 但两者还是有差异之处. Asynchronous I/O system call
通常都是指定整个传送的资料量, 整个完成了才会有通知. nonblocking
则是有多少就立即带回多少个资料量的指示, 该指示值可以为零.
======
system call 都是人造的, 名称分类是用来区分描述, 是让使用者了
解其功能特性, 知道可以如何使用. 後造的, 当然要尽量跟前人叙述的性
质特性一致, 才不致於引发误会. 若性质有所不同, 就会取名不同.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.4.12
1F:→ dcleft:感谢大大 04/05 09:48