精華區beta CSSE 關於我們 聯絡資訊
: : 另一個問題是 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
dcleft:感謝大大 04/05 09:48