網絡程式設計的本質是程序間通信
2 通信的基礎是IO模型
輸入流
檔案,Java對象,字元串都可以是資料源
輸出流
3 java.io 家族
字元流
位元組流
4 設計模式 - 裝飾器模式
Socket也是一種資料源
Unix中的Socket是什麼
◆ Unix系統中一切皆是檔案
◆ 檔案描述符表是已打開檔案的索引
◆ 每個程序都會維護一個檔案描述符表
通過socket發送資料
同步/異步/阻塞/非阻塞
同步
面對面表白女生時為同步,持續性等待!
A線程:
A要去做事情A1,A2, A3。
如果A1正在執行的情況下A2, A3都不能執行,這叫做同步,也叫阻塞。A2必須等A1執
行完畢之後才能執行。
異步
女孩子考慮考慮,下次告訴你
A1正在執行的情況下,A2和A3也可以執行。這叫做異步、非阻塞。
阻塞調用
表白後,茶不思飯不想啥都不幹就等待!
非阻塞調用
等待結果前,調用方的狀态
同步阻塞
同步非阻塞
等待時,還想着自己的bug沒解決呢!
異步阻塞
表白後離開,等待手機消息,但茶不思飯不想
異步非阻塞
複用線程 -線程池