程序和執行緒都是由作業系統所體會的程式執行的基本單元,系統利用該基本單元實現系統對應用的併發性。程序和執行緒的區別在於: 執行緒的劃分尺度小於程序,使得多執行緒程式的併發性搞。 另外,程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。 執行緒在執行過程中與程序還是有區別的。每個獨立的執行緒有一個程式執行的入口、順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。 從邏輯角度來看,多執行緒的意義在於一個應用程式中,有多個執行部分可以同時執行。但作業系統並沒有將多個執行緒看做多個獨立的應用,來實現程序的排程和管理以及資源分配。這就是程序和執行緒的重要區別。 程序(Process)是最初定義在Unix等多使用者、多工作業系統環境下用於表示應用程式在記憶體環境中基本執行單元的概念。以Unix作業系統為例,程序是Unix作業系統環境中的基本成分、是系統資源分配的基本單位。Unix作業系統中完成的幾乎所有使用者管理和資源分配等工作都是透過作業系統對應用程式程序的控制來實現的。 一般你執行一個應用程式,就生成了一個程序,這個程序擁有自己的記憶體空間, 這個程序還可以內部生成多個執行緒,這些執行緒之間共用一個程序的記憶體空存空間,所以執行緒之間共享記憶體是很容易做到的,多執行緒協作比多程序協作快一些,而且安全. 在windows跟unix上面,程序,執行緒的實現方法都是不一樣的.
程序和執行緒都是由作業系統所體會的程式執行的基本單元,系統利用該基本單元實現系統對應用的併發性。程序和執行緒的區別在於: 執行緒的劃分尺度小於程序,使得多執行緒程式的併發性搞。 另外,程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。 執行緒在執行過程中與程序還是有區別的。每個獨立的執行緒有一個程式執行的入口、順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。 從邏輯角度來看,多執行緒的意義在於一個應用程式中,有多個執行部分可以同時執行。但作業系統並沒有將多個執行緒看做多個獨立的應用,來實現程序的排程和管理以及資源分配。這就是程序和執行緒的重要區別。 程序(Process)是最初定義在Unix等多使用者、多工作業系統環境下用於表示應用程式在記憶體環境中基本執行單元的概念。以Unix作業系統為例,程序是Unix作業系統環境中的基本成分、是系統資源分配的基本單位。Unix作業系統中完成的幾乎所有使用者管理和資源分配等工作都是透過作業系統對應用程式程序的控制來實現的。 一般你執行一個應用程式,就生成了一個程序,這個程序擁有自己的記憶體空間, 這個程序還可以內部生成多個執行緒,這些執行緒之間共用一個程序的記憶體空存空間,所以執行緒之間共享記憶體是很容易做到的,多執行緒協作比多程序協作快一些,而且安全. 在windows跟unix上面,程序,執行緒的實現方法都是不一樣的.