有人可以帮我解决这些问题吗:
同一进程内的线程共享的内存(代码/数据)部分是什么(不由不同的进程共享)?
两个进程可以共享它们的虚拟地址空间吗?
两个进程可以共享全局变量吗?
使用内存映射文件可以在进程间实现什么样的数据共享?
是否可以使用内存映射文件共享链表?还有一串数字?
一个进程只有一个地址空间。单个进程中的所有线程都可以访问该进程的所有内存。
不可以。在 Windows 上,要跨进程边界共享内存,您必须使用共享数据段或内存映射文件对象。
仅当变量存储在共享内存中时。
可以使用内存映射文件共享任何 POD 数据。将其视为原始连续字节块。您可以共享通常适合字节数组的任何内容。
链表不能共享,因为它的节点在内存中包含相互指向的指针,并且指针不能跨进程边界使用。您必须将列表序列化为使用偏移量而不是指针的平面格式。可以共享 POD 类型的数组,如整数,是的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句