在进程间写入malloced内存
问题描述:
假设我在一台机器上启动了程序。每个程序首先会把一块内存malloc
。我想知道如何让其他进程知道一个进程的malloced地址,以便他们可以使用mmap
来编写其他进程的mableced内存?在进程间写入malloced内存
答
注释表明共享内存,适用于单独的进程,但编写多线程程序可能更适合。 pthreads(7)
malloc
'ed内存可以直接由每个线程访问,并且有一套丰富的并发控制功能。
哪个操作系统?在Linux下,每个进程都有自己的地址空间,因此不能在不同进程之间共享通过malloc()获取的指针。我看到以下选项:(1)在多个进程中使用共享内存或(2)在同一进程中使用多线程的malloc()。 – mauro
Windows在这方面是相同的。 –
@mauro感谢您的建议。这正是我需要的。我想我会用'shmget'来做到这一点。 – HuangJie