2010-03-17 132 views
2

應用程序由一個或多個進程組成。一個最簡單的過程就是一個執行程序。一個或多個線程在進程的上下文中運行。線程是操作系統分配處理器時間的基本單位。線程可以執行進程代碼的任何部分,包括當前由另一個線程執行的部分。 來源:http://msdn.microsoft.com/en-us/library/ms684841%28VS.85%29.aspx什麼是應用程序和過程?

我瞭解線程,但我無法區分應用程序&進程。什麼是應用程序?什麼是過程?一個應用程序如何擁有多個進程?請給我一個在C#中的例子。謝謝。

更新:我還有一個關於WinWord的問題。當您運行WinWord應用程序時,編輯器窗口將打開。在此窗口中,單擊工具欄上的新建按鈕,第二個編輯器窗口將打開。問題:第二個窗口是否在另一個進程中運行?如果是,爲什麼我使用任務管理器,我只看到一個WinWord進程名稱。謝謝。

回答

6

雖然「進程」和「線程」有明確的含義,但「應用程序」並不是,至少在Windows平臺上。通常在「應用程序」和「過程」之間存在一對一的對應關係,但是應用程序可以作爲一組過程來實現,這些過程一起工作來解決特定的問題。

例如,VMWare Workstation是一個應用程序。它可能涉及多個進程一起運行以實現其目標,例如vmware.exe,vmware-authd.exe等。

+0

我也編輯我的問題,詢問過程的含義。請幫幫我。 – 2010-03-17 07:42:44

+0

不,在MS Word中,一個進程擁有所有的編輯器窗口。這是GUI應用程序中的典型做法。 – Will 2010-03-17 07:52:40