二、重點非阻塞模型:NIO模型
1. Channel:和流等級一樣,雙向的,可讀可寫
2. Buffer:存資料的地方,可以用來讀寫
3. Selector:NIO的核心類,可以監聽多個channel的時間(連接打開,資料到達)-->使得單執行緒可以管理多個channel,只有在讀寫事件發生時才找執行緒過來讀寫
4. NIO基于channel和buffer操作
a. 資料總是從channel讀取到buffer
b. 或從buffer寫到channel
5. 非阻塞實作:
a. 執行緒從channel請求讀取資料,僅能獲得能夠直接使用的資料,
b. 無法使用時,可以去做其他事情,常用于其他channel的IO操作

IO操作的兩個階段:
1. 準備資料
2. 將資料復制到用戶執行緒上,讓執行緒可以使用資料
NIO和多路復用的區別是,NIO一直占用cpu一直在channel之間進行讀寫,多路復用是,讀寫事件發生時才讓執行緒來讀寫
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/134841.html
標籤:Java
上一篇:JAVA——IO模型分類
