同步異步並串行並行並發的區別


同步、異步:

指的是能否開啟新的線程。同步不能開啟新的線程,異步可以。

串行、並行:

指的是任務的執行方式。串行是指多個任務時,各個任務按順序執行,完成一個之后才能進行下一個。並行指的是多個任務可以同時執行。異步是多個任務並行的前提條件。

並發和並行其實是異步線程實現的兩種形式。並行其實是真正的異步,多核CUP可以同時開啟多條線程供多個任務同時執行,互不干擾。但是並發就不一樣了,是一個偽異步。在單核CUP中只能有一條線程,但是又想執行多個任務。這個時候,只能在一條線程上不停的切換任務,比如任務A執行了20%,任務A停下里,線程讓給任務B,任務執行了30%停下,再讓任務A執行。這樣我們用的時候,由於CUP處理速度快,你看起來好像是同時執行,其實不是的,同一時間只會執行單個任務。但是當並發是在多個cpu的情況下,那么並行和並發就沒多大的區別了。但是在單個cpu的情況下的話,那么就只能並發而不能並行了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM