我一直在閱讀關於線程和進程的功能。進程和線程之間的一個主要區別是線程與創建它的進程共享資源,而進程將擁有自己的一組資源。我想測試這個,所以我打開了我的任務管理器並打開了MS Word,並且在任務管理器中,有一個名爲WINWORD.EXE的新進程被加載,並且我再次打開了另一個MS Word(保持前一個打開) Manager只顯示一個正在運行的WINWORD.EXE進程。我只是不明白,因爲需要將兩個MS詞彙視爲兩個獨立的過程(因爲他們不共享資源)。進程是否有自己的內存?
0
A
回答
5
在這種情況下只有一個進程。這只是Word的實施方式,它會阻止您創建多個進程。當您嘗試啓動另一個進程時,新進程會將請求轉發給現有進程,並且窗口將由現有進程顯示。
但是,單獨的進程確實具有不同且獨立的地址空間。用一個簡單的程序嘗試你的實驗,例如記事本。
+0
但是,這並不意味着兩個進程不能共享它們之間的內存區域。有些資源會自動共享 - 例如,引用一個庫的兩個項目通常會共享庫的一些內存。 – Luaan
+0
@Luaan寫的副本是一個優化。從概念上講,地址空間是孤立的,虛擬內存系統可能會因COW原因而優化COW。 –
相關問題
- 1. 每個進程在內存中是否有自己的烏托邦部分?
- 2. 每個GAE實例是否有其自己的內存緩存?
- 3. Java線程是否有自己的進程ID?
- 4. 是否有可能獲得自己的進程名稱?
- 5. 分叉子進程,不使用它自己的內存副本
- 6. 查找我自己.NET進程的所有子進程/查明給定進程是否屬於我自己的子進程?
- 7. Linux進程調度程序 - 它們自己是否使用CPU?
- 8. 函數是否存在讀取自己進程的[stack]地址範圍?
- 9. 子進程是否可以修改父進程的內存?
- 10. 是否有可能讀取PHP進程的整個內存?
- 11. 是否有任何方法限制進程的CPU /內存?
- 12. 對自己的typedef是否有影響?
- 13. 導航是否有自己的標題?
- 14. jQuery是否有自己的Ajax支持?
- 15. TableViewCell是否必須有自己的類?
- 16. mx:Window組件是否有自己的applicationComplete?
- 17. 每個進程都有自己的內核堆棧,對吧?
- 18. 是否libpcap自由內存?
- 19. 內核如何將進程限制到其自己的內存池?
- 20. 後臺進程不會清除內存。在Android上殺死我自己的進程是一個好主意嗎?
- 21. COM對象是否負責將自己的模塊保存在內存中?
- 22. 線程是否在用戶進程中獲得自己的時間片?
- 23. onLocationChange是否自己調用
- 24. 檢索在OS自己的進程的內存映射X 10.5/10.6
- 25. 是否有內存SQS?
- 26. php是否有內存?
- 27. 是否有log4net內存appender?
- 28. 是否有可能爲有管理的線程有自己的競爭條件
- 29. core.async是否會阻止自己停止,或者是否有'調度程序'?
- 30. 是否有可能將線程自己睡眠?
'winword.exe'是測試應用程序的不吉利選擇。改用'calc.exe'。 –