Python多个进程共享相同的对象



我发现了为什么多个过程在python中具有相同的对象ID,但是我不太了解这是什么意思"似乎输出总是相同的。

➜ ~ python test2.py 4419085696 4419085696 ➜ ~ python test2.py 4342830464 4342830464 ➜ ~ python test2.py 4510156160 4510156160 ➜ ~ python test2.py 4329948544 4329948544 ➜ ~ python test2.py 4468004224 4468004224 ➜ ~ python test2.py 4326647168 4326647168 ➜ ~ python test2.py 4445738368 4445738368 ➜ ~ python test2.py 4388980096 4388980096 ➜ ~ python test2.py 4511999360 4511999360 ➜ ~ python test2.py 4562851200 4562851200 ➜ ~ python test2.py 4535031168 4535031168 ➜ ~ python test2.py 4314420608 4314420608 ➜ ~ python test2.py 4536034688 4536034688

我还找到此参考http://code.activestate.com/lists/python-list/656748/在Web上。似乎Python多个过程共享相同的对象。

有人可以帮助进一步解释吗?提前致谢。

cpython中对象的 id是对象内存地址,如该过程本身本身所见。OS防止不同的过程看到其他过程内存。

总体简化警告就每个过程而言,其内存空间始于0并上升。启动并要求从操作系统中启动1000字节的内存块的两个不同的过程都会认为它们具有内存块0-1000,但实际上并未共享内存。

请参阅https://en.wikipedia.org/wiki/virtual_address_space,以获取一个很好的介绍和更好的解释。

相关内容

  • 没有找到相关文章

最新更新