作者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