您對線程和進程的理解是怎樣的?
直觀的說,一個進程就是一個打開的應用軟件,windows下可以使用任務管理器看到所有進程。linux下可以使用命令htop查看所有進程。
一個進程可以包含幾個線程,這些線程通過操作系統的調度“并行執行”。每個進程都有自己獨立的內存空間。而線程則共享自己所屬進程的資源空間。
線程間的通信要簡單的多,因為線程間的內存空間是可以直接訪問的,只需要做好臨界保護即可。
進程間的通信要復雜一些,常用的進程間通信技術有管道、共享內存、套接字等。
您對線程和進程的理解是怎樣的?
直觀的說,一個進程就是一個打開的應用軟件,windows下可以使用任務管理器看到所有進程。linux下可以使用命令htop查看所有進程。
一個進程可以包含幾個線程,這些線程通過操作系統的調度“并行執行”。每個進程都有自己獨立的內存空間。而線程則共享自己所屬進程的資源空間。
線程間的通信要簡單的多,因為線程間的內存空間是可以直接訪問的,只需要做好臨界保護即可。
進程間的通信要復雜一些,常用的進程間通信技術有管道、共享內存、套接字等。