Updating a module level shared dictionary

MRAB python at mrabarnett.plus.com
Tue Jun 15 21:33:21 EDT 2010


Vishal Rana wrote:
> Hi,
> 
> A module level dictionary 'd' and is accessed by different 
> threads/requests in a django web application. I need to update 'd' every 
> minute with a new data and the process takes about 5 seconds. 
> 
> What could be best solution where I want the users to get either the old 
> value or the new and nothing in between. 
> 
> I can think of a solution where a temp dictionary is constructed with a 
> new data and assigned to 'd' but now sure how this works!
> 
> Appreciate your ideas.
> 
Making changes to a structure such as a dict isn't threadsafe, but
binding to a name is, so making a new dict, or copying the current dict 
and changing the copy, and then binding, should be OK.



More information about the Python-list mailing list