面試題必問——簡述線程、進程、併發、並行

多線程是面試必問的知識點,多多少少都會有人掉進面試官挖的坑中。

 

1.說一下什麼是進程?面試

進程是資源分配的的基本單位,啓動一個程序就是一個進程。每一個進程都有彼此獨立的地址空間,不一樣的進程之間沒法訪問彼此的數據。可是能夠經過通道,文件,套接字等進行訪問瀏覽器

 

2.不一樣進程中哪些資源能夠共享安全

  • 堆】因爲堆是在進程空間中開闢出來的,因此它是理所固然地被共享的;所以new出來的都是共享的(16位平臺上分全局堆和局部堆,局部堆是獨享的)多線程

  • 全局變量】全局定義的變量單位,所以也是共享的併發

  • 局部靜態變量】雖然對於局部變量來講,它在代碼中是「放」在某一函數中的,可是其存放位置和全局變量同樣,存於堆中開闢的.bss和.data段,是共享的函數

  • 文件等公用資源】這個是共享的,使用這些公共資源的線程必須同步。Win32 提供了幾種同步資源的方式,包括信號、臨界區、事件和互斥體。spa

 

3.說一下什麼是線程? 插件

      進程的最小單位,一個進程包含多個線程,當關閉進程時線程也會相應被關閉。線程

      舉例:blog

一個瀏覽器就至關於一個線程,每一個tab頁是一個進程。關閉瀏覽器以後每一個網頁也會被關閉。

須要頻繁銷燬建立的使用線程,由於進程的銷燬和建立須要消耗大量的資源,須要保證程序穩定安全,推薦使用進程。須要加快執行速度選用線程。

 

 

4.說一下什麼是並行?

    同一時間節點,多個任務同時進行。好比洗澡的時候能夠唱歌,多核CPU,多個進程能夠運行在不一樣的物理核心上。每一個CPU各司其職執行不一樣的任務。

 

 

5.說一下什麼是併發?

一段段時間內,多個任務交替執行,相似多線程。單核cpu,某一時刻只能一個進程執行。可是能夠經過不斷切換的方式(如時間片輪巡),由於cpu執行速度很是快,因此咱們看起來好像是同時進行,其實是快速交替執行

========================================================================================================================================================

附加並行資料

特色

一、各 數據位同時傳輸,傳輸速度快、效率高,多用在實時、快速的場合。
二、 微機系統中最基本的信息交換方式。
三、並行傳遞的信息不要求固定的格式。
四、 並行接口數據傳輸率串行接口快8倍,標準並口的數據傳輸率理論值爲1 Mbps( 兆比特/秒).
五、並行傳輸的數據寬度能夠是1~128位,甚至更寬,可是有多少數據位就須要多少根數據線,所以傳輸的成本較高。
六、並行通訊抗干擾能力差。
七、在 集成電路芯片的內部、同一插件板上各部件之間、同一機箱內個插件板之間的 數據傳輸都是並行的。
八、以計算機的 字長,一般是8位、16位或32位爲傳輸單位,一次傳送一個字長的數據。
九、適合於 外部設備與微機之間進行近距離、大量和快速的信息交換。
十、並行數據傳輸只適用於近距離的通訊,一般傳輸距離小於30米。

工做原理:

 通常地並行接口有 3 個方面的功能:

⑴實現與系統總線的鏈接:提供數據的輸入輸出功能。
⑵實現與 外設鏈接:確保與外設間有效進行數據的接收和發送。
⑶具備 中斷請求處理功能:外設輸入輸出採用中斷的方法來實現。

接口鏈接

典型的雙向並行接口與外設鏈接
⒈並行接口與 CPU的鏈接
數據總線:是CPU與 並行接口進行數據交換的通道。
⑵讀出寫入信號線:控制數據流向,肯定操做是讀仍是寫。
⑶復位線,準備好狀態線:並行接口數據準備就緒。
中斷請求線:並行接口向CPU進行中斷請求。
⑸地址 譯碼電路:進行選擇不一樣的接口電路,選擇接口電路內部不一樣的 寄存器
⒉並行接口與外設的鏈接
⑴輸入設備:數據輸入線,設備數據 準備就緒狀態線和接口接收數據回答線。
輸出設備數據輸出線,接口數據準備就緒狀態線和外設接收數據回答線。
⒊並行接口
控制寄存器:接收CPU發來的控制命令。
⑵數據輸入緩衝器、數據輸出緩衝器:進行數據的輸入、輸出。
狀態寄存器:提供接口電路工做狀態供CPU查詢。

傳輸原理

⒈ 並行接口輸入數據的過程
外設將數據送到「數據輸入線」,經過「輸入數據準備好」 狀態線通知並行接口取走,接口將數據鎖存到「輸入緩衝器」,經過「數據輸入回答」線通知外設,接口 數據緩衝器已滿,不要再送數據,接口在其內「 狀態寄存器」 的相應位置 1,便於CPU 查詢和接口向CPU 發 中斷請求之用。
CPU 從接口將數據取走後,接口將「數據輸入準備好」、「數據輸入回答」 信號清除,以便外設輸入下一個數據。
⒉ 並行接口輸出數據的過程
接口「 數據輸出緩衝器」 空,「數據輸出準備好」 狀態線送 1,收到CPU 發的數據,將之復位清0,數據經過「數據輸出」 線送外設,由「數據輸出準備好」 線通知外設取數據。

實例

微機系統中最基本的信息交換方法
例如:微機與並行接口 打印機磁盤驅動器
例如: 系統板上各部件之間,接口電路板上各部件之間
相關文章
相關標籤/搜索