1. 程式人生 > >AIO,BIO,NIO的區別&Java基礎

AIO,BIO,NIO的區別&Java基礎

BIO : 同步阻塞IO BlockIO
舉個例子 :
我現在上廁所 現在廁所的坑已經滿了 我什麼事情都不做 我就一直等(主動觀察)哪一個 坑沒人了 ,我就立馬去佔坑 通過這個示例 可以理解這是同步阻塞的IO
NIO : 同步非阻塞IO New IO Non-Block IO
舉個例子:
我現在上廁所 現在廁所的坑已經滿了 這時候我不會像之前一樣 我會出去抽支菸 或者微信搖一搖 然後我會時不時回去廁所主動看看 看看有沒有人走 然後再佔有坑
AIO : 非同步非阻塞IO
舉個例子:
我沒有在廁所裡面等著 而是在廁所外面 玩手機 如果有人
上完廁所他告訴我 我好了 你去吧 這時候我再回去廁所做我自己的事情
非同步阻塞IO


舉個例子:
開發中非常少 我現在上廁所 現在廁所的坑已經滿了 這時候比較懶 什麼也不做 就在坑旁邊乾等著 等上廁所的人上好了之後告訴我 我好了 你去吧
BIO,NIO,AIO的區別:
BIO: 發起請求–>一直阻塞–>處理完成
NIO: Selector主動輪詢channel–>處理請求–>處理完成
AIO: 發起請求–>通知回撥