假设我正在构建一个webcrawler并且我有一个包含所有访问过的URL的哈希.
当我分叉子进程时,我希望能够从子进程访问被访问URL的哈希值,但是我不想复制哈希,因为它很大并且会耗尽计算机的内存.
当我使用Parallel :: ForkManager进行fork时,我打印了父进程中声明的哈希的地址,当我从父进程和子进程打印时,我得到相同的地址,例如HASH(0x7fc59d017f38)
但我想确保数据结构没有被复制到子进程
不.每个进程都有自己的地址空间.孩子的地址空间以其父母的副本开头,但是改变其中一个对另一个没有影响.您需要使用各种可能的通信通道(管道,memcached,数据库,文件等)之一显式交换您想要"共享"的数据.