1, 乙個單核cpu乙個時刻只能處理一條執行緒。
2, 單核cpu使用超執行緒技術可以在乙個時刻處理兩條執行緒
超執行緒技術並不是使單核cpu產生兩個核心,只是提供兩個邏輯執行緒。效果並沒有雙核的強。
3,2核4執行緒,4核8執行緒,這些都是使用超執行緒技術才多出一倍的執行緒數。
有以上資訊來看併發,並行:
併發:當多個執行緒在操作的時候,如果只有乙個單核cpu沒有超執行緒,同一時刻只能有乙個執行緒被執行,但是多個執行緒指令**流的切換執行,在巨集觀上看來是多個執行緒同時執行,但實際上並不是,他們是輪流執行的。
並行:這個概念是對多核來說的。同一時刻多個執行緒同時執行,當乙個核心執行乙個執行緒時,另乙個核心也在執行另外的執行緒,兩個執行緒互不爭奪cpu資源。
通過以上的概念可以看到執行緒和併發並行沒有直接的關係,執行緒安全也就和併發並行沒有關係。
4, 到了這裡又涉及到了同步非同步,阻塞非阻塞
在併發程式設計中涉及到這四個概念
同步:呼叫者呼叫乙個函式時,呼叫者等到這個函式執行完返回結果,才繼續執行下面的**,這是同步。
非同步:和同步相反,呼叫者呼叫乙個函式不會等這個函式返回,繼續向下執行。
阻塞:呼叫結果返回之前,當前執行緒會被掛起,直到函式得到結果返回,才繼續執行。
非阻塞:不能立即得到結果前,該函式不會阻塞當前執行緒,會立即返回。
這裡阻塞和同步好像沒有什麼不同,但是阻塞應該是對執行緒來說的。
winpcap的一些認識
一 winpcap簡介 winpcap是unix下的libpcap移植到windows下的產物,他是乙個freeandopensource的專案。winpcap工作於驅動 driver 層,所以能以很高的效率進行網路操作。winpcap提供了以下強大的功能 1 捕獲原始的資料報 2 設定filter...
servlet的一些認識
客戶端傳送請求至伺服器端 伺服器將請求資訊傳送至 servlet servlet 生成響應內容並將其傳給伺服器。響應內容動態生成,通常取決於客戶端的請求 伺服器將響應返回給客戶端。當乙個請求傳送到servlet容器的時候,容器先會將請求的url減去當前應用上下文的路徑作為servlet的對映url,...
flask babel的一些認識
hello world 1.使用以下命令來將所有文字提取到 pot 檔案 pybabel extract f babel.cfg o messages.pot 提取檔案 pybabel extract f babel.cfg k l o messages.pot 考慮到lazygettext的情況 ...