[Python-Dev] Add a frozendict builtin type

Mark Shannon mark at hotpy.org
Tue Feb 28 13:07:32 CET 2012


Antoine Pitrou wrote:
> On Tue, 28 Feb 2012 12:45:54 +0100
> Victor Stinner <victor.stinner at haypocalc.com> wrote:
>>> I think you need to elaborate on your use cases further, ...
>> A frozendict can be used as a member of a set or as a key in a dictionary.
>>
>> For example, frozendict is indirectly needed when you want to use an
>> object as a key of a dict, whereas one attribute of this object is a
>> dict.
> 
> It isn't. You just have to define __hash__ correctly.
> 
>> frozendict helps also in threading and multiprocessing.
> 
> How so?

Inter process/task communication requires copying. Inter/intra thread
communication uses reference semantics. To ensure these are the same,
the objects used in communication must be immutable.

Cheers,
Mark.


More information about the Python-Dev mailing list