我一直在阅读关于线程和进程的功能。进程和线程之间的一个主要区别是线程与创建它的进程共享资源,而进程将拥有自己的一组资源。我想测试这个,所以我打开了我的任务管理器并打开了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'。 –