一、進程
1.進程就是一個正在運行的程序。進程是操作系統分配資源的最小單位。
2.進程的缺點:
(1)進程佔有系統資源;
(2)進程的切換給操作系統帶來了額外的開銷;
(3)創建新進程會把父進程的資源複製一份到子進程,如果創建多個進程,會佔用大量資源;
(4)進程間的數據共享需要OS的干預。
二、線程
(1)線程是一種輕量級的進程。
(2)線程沒有系統資源。
(3)線程是OS調度的最小單位。
(4)一個進程由一個或多個線程組成。
(5)在一個進程內部,多個線程之間資源共享
三、進程和線程對比
1.資源分配不同。進程擁有獨立的內存和系統資源;線程沒有系統資源。
2.工作效率不同。進程有系統資源,進程切換時要保留資源,故效率低。線程的切換不需要保留系統資源,效率高。
3.執行方式不同。進程可以被OS直接調度,線程必須在進程中運行。