cod*_*der 1 c++ operating-system
据我所知,堆栈内存只能由同一进程内的线程共享。
在进程间通信中,进程可以通过shmget()系统调用共享同一段内存。
这个共享内存段可以是什么?一堆还是其他什么?
在浏览有关堆栈内存和堆内存之间差异的问题后,我提出了这个问题。堆内存可以是通过的共享内存段吗shmget()?也就是说,堆内存可以在多个进程之间共享吗?
父进程与其子进程共享同一个堆吗?我在网上找到了一些东西:“父级的堆、代码和库区域由子级共享。一个新的堆栈被分配给子级,并且父级的堆栈被复制到子级的堆栈中。”
这是否意味着不同进程之间共享相同的堆?
“还可能存在一个全局堆(例如,看看 Win32 GlobalAlloc() 系列函数),它在进程之间共享,在系统运行时持续存在,并且确实可用于进程间通信。” 参考:堆内存是每个进程的吗?(或)不同进程共享的公共内存位置?
| 归档时间: |
|
| 查看次数: |
515 次 |
| 最近记录: |