R. David Murray added the comment:

That fact that this is so is implicit in the name multi*process*ing and
the documented restrictions of the id function.  That is, it is the purpose of 
the module is to manage computation across multiple processes.  Since different 
processes have distinct memory spaces, you cannot depend on object identity 
between processes, by the definition of object identity (it is constant only 
for the lifetime of the object in memory, and the different processes have 
different memory spaces, therefore the object id may be different in the 
different processes).  By construction this applies also to any multiprocessing 
mechanism that is used to transmit objects, even if the transmission turns out 
to be to the same process in a particular case.  You can't *depend* on the id 
in that case, because the transmission mechanism must be free to change the 
object identity in order to work in the general case.

Should we document this explicitly?  Perhaps so.  Maybe in the multiprocessing 
introduction?

----------
nosy: +r.david.murray

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue28973>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to