進程 vs 線程

名詞

程式: program

次級儲存裝置: Secondary storage,如硬碟。

主要儲存裝置: primary storage,如memory。

進程: process。

線程: thread。

程式指工程師寫的程式,放在次級儲存裝置,並未被執行。

進程指的是被載入記憶體的程式。

進程 vs 線程

  • 一個進程裡面一定會有一個線程。
  • 一個進程裡面的多個線程共享進程的資源和內存。
  • 每個進程獨立執行,各自有自己的資源和內存。
  • 一個cpu上一次只能跑一個進程。

多線程 vs 多進程 vs 異步

多線程就是一個CPU上面,可以用輪詢的方式執行多個程式,就是做一做跳去下一個,做一做再跳回來,看起來是一次處理多個程式,其實不是同時間做,可以有效利用等待IO的時間,也叫做併發。

多進程就是多個CPU上面處理多個程式,佔用資源會比較多,也叫做並行。

異步是非阻塞,解決了UI響應被阻塞的問題,可藉助線程技術或者硬件本身的計算能力解決。

單線程在CPU取向的情況下較快,多線程在多IO取向的情況下較快。

留言

這個網誌中的熱門文章

WINDOWS cmd 操作:查看進程、TCP連線、刪除TCP連線和進程

mongodb aggregate 筆記

mongodb shell 操作