同步就是在一個功能調用時,在沒有得到結果之前,該調用就不返回。也就是一件一件事做,等前一件做完了才做下一件事。
異步和同步相對,當一個異步過程調用出發后,調用者不能立刻得到結果。實際處理這個調用的部件在完成后,通過狀態,通知和回調來通知調用者。
阻塞IO的特點: 就是在IO執行的兩個階段(等待數據 和拷貝數據兩個階段)
非阻塞忙輪詢:數據沒來,進程就不停的去檢測數據,直到數據來
阻塞:數據沒來,啥都不做,直到數據來了,才進行下一步的處理
非阻塞IO模型 優點:實現了同時服務多個客戶端,能夠在等待任務完成的時間里干其他活了,包括提交其他任務
缺點:不停的輪詢recv,占用較多的cpu資源
對應BlockingIOError的異常處理也是無效的CPU花費
如何解決:多路復用IO
多路復用IO:把socket交給操作系統去監控,相當於找個代理人(select)去收快遞。快遞到了,就通知用戶,用戶自己去取。
阻塞I/O只能阻塞一個I/O操作,而I/O復用模型能夠阻塞多個I/O操作,所以才叫多路復用。
Linux的根目錄與家目錄的區別:
Linux的根目錄是目錄的最高層,所有文件都在根目錄下面,而根目錄下有bin,etc,root,mnt,等文件目錄,而家目錄在/home用戶名里面
linux操作系統的文件系統有哪些?各有什么特點?
ext: 專門為linux核心做的第一個文件系統。單個文件最大限制未知;該文件系統最大支持2GB的容量。
ext3:一個日志文件系統。單個文件最大限制16TB,該文件系統最大支持32TB的容量。
ext4:
Theodore Tso領導開發團隊實現,linux系統下的日志文件系統,單個文件最大限制16TB,該文件系統最大支持1EB的容量。
ntfs:Windows2000 以后的版本使用,是windows系統當中的一個文件管理系統,有更加出色的文件管理能力和磁盤管理能力。
特點:NTFS系統能夠為計算機中的文件提供安全的文件保障,並且能夠支持文件加密的功能;
2.NTFS提供的磁盤具有更快,壓縮率更高的特點
3。NTFS最大能夠支持容量高達2TB的超大硬盤,而且隨着磁盤容量的不斷增大,他它的性能也完全不會降低。
4.用戶可根據自己電腦的實際情況賦予NTFS文件系統中的單個文件夾和文件夾一定的權限,極大提高計算機操作的安全性和可靠性;
5.傳輸文件和數據的時候會更快;
6.NTFS文件系統具有非常低的故障出現幾率,而且具有一定的自我修復能力。
7.有非常高的磁盤利用率
sqlite3和mysql的區別:
sqlite3功能簡約,小型化,追求最大磁盤效率,功能少,屬於本地數據庫,多用於讀多寫少,100w以下的數據,不支持分布式;
mysql功能全面,綜合化,追求最大並發效率