[Tutor] static variables - lock/semaphore
Alan Gauld
alan.gauld at freenet.co.uk
Sat Jul 1 15:06:25 CEST 2006
> i have a program that is run on a website, and as it
> is run from a website, it can be called more than once
> and hence could end up corrupting db/data
> is there a way to use some sort of semaphore or lock
> so that it is not accessed simultaneously
There are ways of doing this in Python but if you are using
a relational database for the data its usually easier to
apply row level locking at the database level.
> the problem is it can be done with static variables in
> C but how is it done in python
It could be done with a global variable in Python in the
same way but there are other solutions based around
threads which have explicit locks etc. For a web
application using Python threads would probably be
a good bet.
But you may find the whole problem simplified by adopting a
web framework such as TurboGears which will take care of
a lot of these kinds of issues for you - but with a bit of a
learning curve. But if you have several web apps to build
I'd seriously consider this route.
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld
More information about the Tutor
mailing list