【发布时间】:2012-12-08 09:58:05
【问题描述】:
我有一个疑问,那就是, 如果我们尝试这个,在 python 中
>>>a=5
>>>id(a)
>>>746363
也就是说我们获取的是id,它相当于address, 我的问题是,有什么办法可以 从 id 中获取值或对象,就像我们从对象中获取 id 一样
如下,
>>>object(746363)
>>>5
我写了上面的那个是为了清楚地表达我的查询
【问题讨论】:
-
你真的,真的确定你需要这个吗?你到底想做什么?
-
是的,我需要在我的项目中。这是在我考虑共享内存时出现的
-
你不需要这个,python 已经有办法使用共享内存。再次阅读有关多处理的文档。
-
@usernaveen 这就是我的意思,你尝试解决多处理模块中已经解决的问题;您的方法也永远无法在现代操作系统中工作:
id返回的“内存地址”当然是进程虚拟地址空间中的地址,与 ram 中的实际物理地址无关(顺便说一句,由于分页等原因可能会发生变化,而没有过程注意到)。即使您拥有实际的物理地址并将页面锁定在内存中以使其不会交换,您也无法从用户空间代码访问它,只有内核可以。 -
是的,我知道内置模块,但我正在使用twisted,因为我知道内置多处理模块是不够的,所以我正在寻找一些东西。跨度>