進程 vs 線程
名詞
程式: program
次級儲存裝置: Secondary storage,如硬碟。
主要儲存裝置: primary storage,如memory。
進程: process。
線程: thread。
程式指工程師寫的程式,放在次級儲存裝置,並未被執行。
進程指的是被載入記憶體的程式。
進程 vs 線程
- 一個進程裡面一定會有一個線程。
- 一個進程裡面的多個線程共享進程的資源和內存。
- 每個進程獨立執行,各自有自己的資源和內存。
- 一個cpu上一次只能跑一個進程。
多線程 vs 多進程 vs 異步
多線程就是一個CPU上面,可以用輪詢的方式執行多個程式,就是做一做跳去下一個,做一做再跳回來,看起來是一次處理多個程式,其實不是同時間做,可以有效利用等待IO的時間,也叫做併發。
多進程就是多個CPU上面處理多個程式,佔用資源會比較多,也叫做並行。
異步是非阻塞,解決了UI響應被阻塞的問題,可藉助線程技術或者硬件本身的計算能力解決。
單線程在CPU取向的情況下較快,多線程在多IO取向的情況下較快。
留言
張貼留言